关于javascript:如何设置以GMT为单位的日期,分钟,秒

How to set Hours,minutes,seconds to Date which is in GMT

我有日期对象,我想从我的日期清除小时,分钟和秒。请帮助我如何在javascript中完成。我做错了吗?

1
2
3
4
var date = Date("Fri, 26 Sep 2014 18:30:00 GMT");
      date.setHours(0);
      date.setMinutes(0);
      date.setSeconds(0);

预期结果为

1
Fri, 26 Sep 2014 00:00:00 GMT

我如何实现?


您可以使用:

1
2
3
4
// Like Fri, 26 Sep 2014 18:30:00 GMT
var today = new Date();

var myToday = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 0, 0, 0);

使用实际日期用构造函数重新创建日期对象。


根据MDN,setHours函数实际上需要额外的可选参数来设置分钟、秒和毫秒。因此我们可以简单地写

1
2
3
4
5
6
// dateString is for example"Fri, 26 Sep 2014 18:30:00 GMT"
function getFormattedDate(dateString) {
   var date = new Date(dateString);
   date.setHours(0, 0, 0);   // Set hours, minutes and seconds
   return date.toString();
}


要将日期解析为javascript,只需使用

1
var date = new Date("Fri, 26 Sep 2014 18:30:00 GMT");

然后用以下几行将小时、分钟和秒设置为0

1
2
3
date.setHours(0);
date.setMinutes(0);
date.setSeconds(0);

现在返回您想要的日期