我已经阅读了文档,对于如何继续进行操作有点困惑。 有类似的问题,但没有人谈论解析格式中收到的特定日期以及在本地和utc日期之间交换。
我收到一个本地日期时间,本地日期时间格式,需要以特定格式从中生成utc datetime,这就是我认为我应该这样做的方式。 moment(dateTime,localDateTimeFormat).utc().format(specifiedFormat);
我以特定格式收到utc datetime,并且必须以特定格式生成特定于语言环境的日期时间。我该怎么做?
moment.utc(utcDateTime, utcDateTimeFormat).toDate();
给了我相信的javascript日期。我怎么格式化呢?我是否必须使用生成的Date对象创建新时刻?
我能做的另一件事就是获取时区然后格式化。我想知道我在这里采取了错误的路线。请帮忙。
答案 0 :(得分:74)
在第1项 - 是的,这是一种方法。但是,如果输出格式只是ISO8601 UTC时间戳,那么您可以直接在原始时刻调用toISOString
。由于输出暗示了UTC,因此再次呼叫utc()
将是多余的。
在第2项 - 与utc()
功能一样,还有local()
功能。获得moment
对象后,您可以使用toDate
或format
或文档中描述的任何其他功能。不,您不需要使用生成的日期对象创建新时刻。
moment.utc(utcDateTime, utcDateTimeFormat).local().format(specifiedFormat)
同样,在这里做事的方法不止一种。如果utcDateTime
已采用ISO8601格式,并且包含Z
或-01:00
之类的偏移量,则会将其考虑在内,您只需执行此操作:
moment(utcDateTime).format(specifiedFormat)
关于你提到的关于时区的最后一项,很难说出你在问什么。您应该在新问题中详细说明 。