我唯一的时间数据是7:00pm ET-我需要将其格式化为当前日期的时刻日期对象,以便随后可以使用.format(...)输出其他格式

我尝试了这个:

moment.tz(new Date('7:00pm ET'), 'America/New_York');


我也尝试过:

moment.tz('7:00pm', 'America/New_York');


但这会引发关于不是正确日期字符串的错误。

最佳答案

您需要指定输入字符串的格式。

var m = moment.tz('7:00pm', 'h:mma', 'America/New_York');


但是,如果只进行格式化,则可能不必担心时区。

var m = moment('7:00pm', 'h:mma');


然后,可以通过调用m.format("...")用所需的任何输出格式替换...来进行格式化。

还要注意,仅仅因为ET是输入字符串的一部分,并不意味着它可以被识别为美国东部时间。通常,时区缩写太含糊,无法用作输入。

09-25 17:15