MomentJs:如何在Typescript中将字符串转换为日期?

Pro*_*ist 10 javascript momentjs typescript ag-grid angular

我在Angular 2中实现Ag Gird.我有一个日期列和日期排序和Ag网格只需要格式的日期类型.因此,我必须以日期的形式发送它以进行渲染.但我的输入是字符串.我的格式为2017-01-19的dateString.我正在做

let myDate:Date = moment(dateString).toDate();
Run Code Online (Sandbox Code Playgroud)

但它是我2017年1月19日00:00印度标准时间的产出.我也是这样试过的

let myDate:Date = moment(dateString).format("DD/MM/YYYY");
Run Code Online (Sandbox Code Playgroud)

这给了我错误字符串不能分配给日期.

也是这样尝试过的

let myDate:Date = moment(dateString,"DD/MM/YYYY");
Run Code Online (Sandbox Code Playgroud)

但没有运气.我想要的是,输出的类型为日期和19-01-2017的形式

请建议

小智 13

试试这个:

let myDate:Date = moment(dateString,"YYYY-MM-DD").format("DD-MM-YYYY");

基本上,当您调用时moment(),您应该指定当前日期所在的格式,而不是您想要的输出格式.调用时应指定输出格式.format().

  • 这就是我没说"完全一样"的原因; 我说"基本上"是相同的,它仍然会失败并出现同样的错误. (3认同)
  • 那是行不通的,因为`myDate`设置为Date类型。这基本上与OP的第二段代码相同。 (2认同)

Alx*_*Alx 5

moment().toDate();
Run Code Online (Sandbox Code Playgroud)

给出一个 Date 对象

从Moment.js 转换为日期对象得到答案