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

Are*_*mar 20 javascript date

我有日期对象,我想从我的日期清除HOUR,MINUTE和SECONDS.请帮助我在Javascript中如何做到这一点.我做错了吗?

var date = Date("Fri, 26 Sep 2014 18:30:00 GMT");
      date.setHours(0);
      date.setMinutes(0);
      date.setSeconds(0);
Run Code Online (Sandbox Code Playgroud)

预期的结果是

Fri, 26 Sep 2014 00:00:00 GMT
Run Code Online (Sandbox Code Playgroud)

我如何实现?

Man*_*jar 48

你可以用这个:

// 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);
Run Code Online (Sandbox Code Playgroud)

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

  • 我已经使用这段代码来设置一个对象,它将明天的日期保存在午夜 - var tomorrow_midnight = new Date(now.getFullYear(),now.getMonth(),now.getDate()+ 1,0,0,0) ; 只是想和世界分享这个...... :) (5认同)

小智 36

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

// 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();
}
Run Code Online (Sandbox Code Playgroud)

  • 要设置毫秒,您应该编写`date.setHours(0, 0, 0, 0)`:四个零 (8认同)
  • 你很棒,这里是最佳答案:)! (2认同)
  • 我喜欢你的解决方案,它比我的更干净 (2认同)

Ale*_*pen 5

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

var date = new Date("Fri, 26 Sep 2014 18:30:00 GMT”);
Run Code Online (Sandbox Code Playgroud)

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

date.setHours(0);
date.setMinutes(0);
date.setSeconds(0);
Run Code Online (Sandbox Code Playgroud)

date.toString() 现在返回您想要的日期

  • 那么,为什么不这样设置-var date = new Date(“ Fri,26 Sep 2014 00:00:00 GMT”),并保存多余的不需要的代码?... (3认同)