2016-12-21 79 views
0

什麼是使用Moment.js清除瀏覽器本地日期對象的時間的最佳方式,以便在我的瀏覽器的當前時區中今天是午夜。什麼是使用Moment.js清除時間的最佳方式?

+1

也許['startOf('day')'](http://momentjs.com/docs/#/manipulating/start-of/)就是你要找的東西。 – VincenzoC

+0

@VincenzoC - 請在回答中提供答案,而不是在評論中。 –

+0

塞巴斯蒂安 - 請記住,並非每個當地的日*都有*午夜。如果在00:00有DST「春季向前」轉換,那麼該日從01:00開始。這發生在巴西和世界其他地方。 'startOf('day')'會反映這一點。 –

回答

1

最接近的事你問什麼如下:

var d = new Date();    // your browser native date object 
var m = moment(d).startOf('day'); // move to the start of the day in the local time zone 
d = m.toDate();     // convert back to a native date object 

但是,如果這是你想要做的唯一的事情,你不需要時刻。只要這樣做:

d = d.setHours(0, 0, 0, 0); 

此外,請記住,不是每個地方日都有午夜。如果在00:00有DST「春季向前」轉換,那麼該日從01:00開始。這發生在巴西和世界其他地方。在這種情況下,Moment的startOf('day')函數將確保結果爲1:00,但setHours方法可能會在前一天設置爲1:00或設置爲23:00,具體取決於瀏覽器的實現。

相關問題