Javascript 以特定格式以字符串形式传递日期并返回带有momentjs的日期对象的正确方法是什么?

Javascript 以特定格式以字符串形式传递日期并返回带有momentjs的日期对象的正确方法是什么?,javascript,momentjs,Javascript,Momentjs,我一直在看momentjs文档,因为我想用它从一个日期返回一个日期对象,该日期是一个特定格式的字符串。我的代码看起来像这样 const date = moment(stringDate, 'YYYY-MM-DD HH:MM:SS'); console.log(date); 但它创建了一个无效的日期,如图所示 我做错了什么。如何从特定格式的日期字符串中获取日期对象?要解析字符串,然后返回不同的格式,可以: > moment(dateString).format('DD.MM.YYYY')

我一直在看momentjs文档,因为我想用它从一个日期返回一个日期对象,该日期是一个特定格式的字符串。我的代码看起来像这样

const date = moment(stringDate, 'YYYY-MM-DD HH:MM:SS');
console.log(date);
但它创建了一个无效的日期,如图所示


我做错了什么。如何从特定格式的日期字符串中获取日期对象?

要解析字符串,然后返回不同的格式,可以:

> moment(dateString).format('DD.MM.YYYY')
其他例子: 官方文件:
其他来源:

为了解析字符串,然后返回不同的格式,您可以:

> moment(dateString).format('DD.MM.YYYY')
其他例子: 官方文件:
其他来源:

您正在使用
MM:SS
分钟:秒,但它应该是
MM:SS

例如:

const-stringDate=“2018-05-11 14:25:37”;
//解析
常数m=力矩(stringDate,'YYYY-MM-DD HH:MM:ss');
//以不同的格式显示,以演示解析工作
console.log(m.format(“DD/MM/YYYY HH:MM”);
//访问基础日期对象
常数dt=m.toDate();
//记录那个日期对象
控制台日志(dt)

您正在使用
MM:SS
分钟:秒,但它应该是
MM:SS

例如:

const-stringDate=“2018-05-11 14:25:37”;
//解析
常数m=力矩(stringDate,'YYYY-MM-DD HH:MM:ss');
//以不同的格式显示,以演示解析工作
console.log(m.format(“DD/MM/YYYY HH:MM”);
//访问基础日期对象
常数dt=m.toDate();
//记录那个日期对象
控制台日志(dt)

什么是
stringDate
?我的意思是表示日期的字符串。它应该是
'YYYY-MM-DD HH:MM:ss'
M
表示月份,
M
表示分钟。什么是
stringDate
?我的意思是表示日期的字符串。它应该是
'YYYY-MM-DD HH:MM:ss'
M
表示月份,
M
表示分钟。但是我有一个用字符串表示的日期,我想用该字符串表示的日期创建一个日期对象。它的格式是我不能直接将其传递到日期(datestring)中的。@Dan moment很聪明,只需传递那里的日期字符串,然后在创建了moment对象之后,就可以以所需的格式输出它。moment(stringDate).format('YYYY-MM-DD HH:MM:SS')OP将格式与
日期字符串一起传递是非常正确的。不这样做是不可取的(除非您传递的是JS的ISO-8601派生格式)。@T.J.Crowder这不是ISO格式吗?我想是。。。在我看来,他符合标准格式。“时刻”可能很好地确定了正确的时间。阅读文档进行验证method@BogdanM.:他们的具体示例是,是的,但是他们的格式字符串是错误的。但是我有一个用字符串表示的日期,我想用该字符串表示的日期创建一个日期对象。它的格式是我不能直接将其传递到日期(datestring)中的。@Dan moment很聪明,只需传递那里的日期字符串,然后在创建了moment对象之后,就可以以所需的格式输出它。moment(stringDate).format('YYYY-MM-DD HH:MM:SS')OP将格式与
日期字符串一起传递是非常正确的。不这样做是不可取的(除非您传递的是JS的ISO-8601派生格式)。@T.J.Crowder这不是ISO格式吗?我想是。。。在我看来,他符合标准格式。“时刻”可能很好地确定了正确的时间。阅读文档进行验证method@BogdanM.:他们的具体示例是,是的,但他们的格式字符串是错误的。