【发布时间】:2018-02-01 02:12:07
【问题描述】:
问题描述和重现步骤:
- 接收用户输入为 3/3
var response - 解析成日期变量
var date = moment(new Date(response)) - 做一个日期的console.log给
moment("2001-03-03T00:00:00.000")
年份默认为 2001。由于用户可能以自己的格式输入日期,因此我不想添加格式,因为我不知道他们可能要输入的格式。
环顾四周,我发现了一些 Moment github 问题(#635,#912),其中提到问题已解决,但我仍然得到默认年份 2001。
我还发现了一个建议,如果不指定,将年份设置为今年:
if (date.year() === 2001) {
date.year() = moment().year();
}
这可行,但感觉像是一个肮脏的解决方案。有什么想法可以代替吗?
提前致谢!
当前环境
- Node.js
v8.9.4 - Moment.js
v2.20.1 - VS 代码
v1.19.3 - MS Bot SDK
v3.14.0
p/s 对 stackoverflow/github 问题来说还是很新的,并且不确定我应该在哪里发布。如果您需要更多信息,请告诉我!
【问题讨论】:
-
与时刻无关。
new Date('3/3')于 2001 年返回。 -
嗨,我补充说,否则,moment 会返回一个折旧警告,与此处的警告不同 (stackoverflow.com/questions/23263380/…) 删除它也会返回
moment("2001-03-03T00:00:00.000")
标签: javascript node.js date momentjs