toDate 会返回一个 JavaScript Date 对象。因此,任何输出字符串都基于Date.toString 的具体实现。如果你想要特定的输出,你应该使用 moment 的format 函数来格式化。
date_start.format("ddd MMM DD YYYY HH:mm:ss")
但是,这将返回 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")
克隆很重要,因为时刻对象是可变的。如果您不克隆,那么您将操纵原始时刻,这可能会在 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 之类的日历时,当地时间更相关。