时间范围为 javascript 的日期格式

Date format with time range in javascript

我有一个 javascript 日期变量,格式为 04/05/2015, 01:30 (dd/mm/yyyy, HH:mm)。现在如何将该格式更改为 04/05/2015, 01:00-01:30 格式。即,我想更改时间范围内的时间,其中第一个时间值总是比第二个时间值少 30 分钟。所以如果日期是 04/05/2015, 13:00 那么格式化的日期将是 04/05/2015, 12:30-13:30

编辑: 示例参见 fiddle here

我担心您所要求的功能没有开箱即用的功能,您将不得不为此编写自己的功能。

这是一个 js 日期对象规范:Date Object

你的新函数return类型不能是日期,因为这种格式只能用字符串类型实现。

您不能拥有该格式的 date 对象。您将手动创建格式。它将是字符串。

var dateObj = new Date('04/05/2015, 01:30'), // input date 
    interval = 30,                           // interval in minutes
    remainingInterval = 0;

var hours = dateObj.getHours(),
    minutes = dateObj.getMinutes();
if(minutes > interval) {
    minutes = minutes - interval;
} else {
    remainingInterval  = interval - minutes;
    minutes = 60;
    hours = hours - 1;
    minutes = minutes - remainingInterval;
}

结果日期可以是

console.log(dateObj.getDate()+'/'+dateObj.getMonth()+'/'+dateObj.getFullYear()+', '+dateObj.getHours()+':'+dateObj.getMinutes()+' - '+hours+':'+minutes);

请检查以下解决方案:

http://jsfiddle.net/ub942s6y/14/

You need to change data.addColumn('datetime', 'Date'); to 'string' as we are changing time

它将正常工作。 :)