Moment.js - 日期粒度

问题描述:

在moment.js,如果我写:Moment.js - 日期粒度

moment('1998').format('DD MMM YYYY'); 

我得到31 Dec 1997。它似乎将日期向后倒转。我想说01 Jan 1998

我该怎么做?它似乎没有太多的粒度文件。

+0

你能否在你的格式中包含小时/分钟来查看UTC装饰器是否会受到阻碍? – user239546 2014-12-03 00:58:53

这段代码也应该给你一个警告,因为'猜测我使用哪种格式类型'功能的时刻是deprecated

这可能是猜测正确的日期,但由于时区的时差,它会给出这个输出。尝试将.utc()添加到您的电话(moment('1998-01-01', 'YYYY-MM-DD').utc().format('DD MMM YYYY'))。

+0

这是'utc()'做到的。谢谢。而且他们把它完全搞砸了:(我知道它是不可预测的,但它对解析用户输入很好用。 – dthree 2014-12-03 02:44:26

+0

嗯......我宁愿有一些可靠的东西,比追逐臭虫,例如几个月和几天你仍然可以通过定义一个格式列表来实现自己的启发式,并且可以通过它们来运行,这是更加透明和确定性的。 – orange 2014-12-03 02:54:45

+0

没错,我以前做过,但是你会认为一个类似库Moment.js也会这样做,如果是的话,它会比我能做到的要好1000倍。 – dthree 2014-12-03 03:01:27