除了时间之外,我如何获得一个moment.js日期对象?

时间:2016-05-14 20:59:35

标签: javascript date momentjs

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

我试过了:

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

我也尝试过:

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

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

2 个答案:

答案 0 :(得分:3)

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

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

但是,如果您只是进行格式化,那么您可能不需要担心时区。

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

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

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

答案 1 :(得分:-1)

最简单的方法是使用var now = moment();设置当前时间的片刻,然后使用now.set('hour', 19)设置片刻时间。