如何使用 momentjs 获取开始和结束日期?
How to get start and end date with momentjs?
我的日历开始日期是这样的:
var date_start = $('#calendar').fullCalendar('getView').start
with .toDate()
我可以在 chrome 控制台中看到这个结果:
Mon Nov 09 2015 01:00:00 GMT+0100 (ora solare Europa occidentale)
我需要显示这个结果:
Mon Nov 09 2015 00:00:00
我也想收尾,应该是这样的:
Tue Nov 10 2015 00:00:00
我怎样才能达到这个结果?
toDate
返回一个 JavaScript Date
对象。因此,任何输出字符串都基于 Date.toString
的具体实现。如果你想要特定的输出,你应该使用 moment 的 format
函数来格式化。
date_start.format("ddd MMM DD YYYY HH:mm:ss")
但是,这将 return 01:00 而您要求 00:00。目前尚不清楚您是在要求当地的一天开始时间,还是在要求等效的 UTC 值。
如果您想要当地的一天开始时间:
date_start.clone().startOf('day').format("ddd MMM DD YYYY HH:mm:ss")
如果您想要等效的 UTC 值:
date_start.clone().utc().format("ddd MMM DD YYYY HH:mm:ss")
克隆很重要,因为 moment 对象是 可变的。如果您不克隆,那么您将操纵原始时刻,这可能会在 fullcalendar 中产生意想不到的副作用。您可以使用上面显示的 clone
函数,也可以将其包装在 moment 函数中,如 moment(date_start)...
两者做同样的事情。
对于结束值,看起来你想要第二天的开始,所以这样做:
date_start.clone().startOf('day').add(1, 'day').format("ddd MMM DD YYYY HH:mm:ss")
或:
date_start.clone().utc().add(1, 'day').format("ddd MMM DD YYYY HH:mm:ss")
同样,选择与您的使用场景相对应的那个。
仅供参考 - 您似乎要求使用 UTC,但在绝大多数情况下,向用户显示诸如 fullcalendar 之类的日历时,当地时间更为相关。
我的日历开始日期是这样的:
var date_start = $('#calendar').fullCalendar('getView').start
with .toDate()
我可以在 chrome 控制台中看到这个结果:
Mon Nov 09 2015 01:00:00 GMT+0100 (ora solare Europa occidentale)
我需要显示这个结果:
Mon Nov 09 2015 00:00:00
我也想收尾,应该是这样的:
Tue Nov 10 2015 00:00:00
我怎样才能达到这个结果?
toDate
返回一个 JavaScript Date
对象。因此,任何输出字符串都基于 Date.toString
的具体实现。如果你想要特定的输出,你应该使用 moment 的 format
函数来格式化。
date_start.format("ddd MMM DD YYYY HH:mm:ss")
但是,这将 return 01:00 而您要求 00:00。目前尚不清楚您是在要求当地的一天开始时间,还是在要求等效的 UTC 值。
如果您想要当地的一天开始时间:
date_start.clone().startOf('day').format("ddd MMM DD YYYY HH:mm:ss")
如果您想要等效的 UTC 值:
date_start.clone().utc().format("ddd MMM DD YYYY HH:mm:ss")
克隆很重要,因为 moment 对象是 可变的。如果您不克隆,那么您将操纵原始时刻,这可能会在 fullcalendar 中产生意想不到的副作用。您可以使用上面显示的 clone
函数,也可以将其包装在 moment 函数中,如 moment(date_start)...
两者做同样的事情。
对于结束值,看起来你想要第二天的开始,所以这样做:
date_start.clone().startOf('day').add(1, 'day').format("ddd MMM DD YYYY HH:mm:ss")
或:
date_start.clone().utc().add(1, 'day').format("ddd MMM DD YYYY HH:mm:ss")
同样,选择与您的使用场景相对应的那个。
仅供参考 - 您似乎要求使用 UTC,但在绝大多数情况下,向用户显示诸如 fullcalendar 之类的日历时,当地时间更为相关。