如何在javascript reactjs中转换日期格式

zea*_*nos 2 javascript npm reactjs

<b>Select Datetime</b><br/>
<DateTimeField onChange={this.clockevent} format={"x"}/>   

clockevent=(newDate)=>{
    var dateVal ="/Date("+newDate+")/";
    var date = new Date(parseFloat(dateVal.substr(6)));


    console.log(
    date.getFullYear() + " " +
    (date.getMonth() + 1) + "/" +
    date.getDate() + "  " +

    date.getHours() + ":" +
    date.getMinutes() + ":" +
    date.getSeconds() );
}
Run Code Online (Sandbox Code Playgroud)

结果:

2018/2/1 14:16:0

我希望结果添加日,月和ss'格式(DD MM ss)我想这个格式=

2018/02/01 14:16:00

siv*_*rya 19

使用 date-fns 库

对于“2018/02/01 14:16:00”此格式使用以下代码

import { format } from 'date-fns';
console.log(format(new Date(), 'yyyy/MM/dd kk:mm:ss'))
Run Code Online (Sandbox Code Playgroud)

这样您就可以自定义自己的格式。

日期-fns

要自定义日期格式,请使用此


Rod*_*ius 8

我没有找到按你要求格式化YYYY/MM/DD的方法,但我有2位数格式.

const today = Date.now();

console.log(new Intl.DateTimeFormat('en-US', {year: 'numeric', month: '2-digit',day: '2-digit', hour: '2-digit', minute: '2-digit', second: '2-digit'}).format(today));
Run Code Online (Sandbox Code Playgroud)


小智 5

我为 React.js 开发人员找到了最简单的解决方案。

在我的架构中(在后端)日期格式是这样的。

createdAt: {
       type: Date,
       default: Date.now()
} 
Run Code Online (Sandbox Code Playgroud)

它会给我的输出2019-04-30T08:59:00.000Z(YYYY-MM-DD'T'HH:MM:SS.SSSZ)格式。要在前端更改日期格式,您可以使用以下方法轻松解决问题

1. npm install dateformat
2. import dateFormat from 'dateformat';
3. dateFormat("2019-04-30T08:59:00.000Z", "mmmm dS, yyyy") to get April 30th, 2019
or dateFormat("2019-04-30T08:59:00.000Z", "dddd, mmmm dS, yyyy") to get Tuesday, April 30th, 2019.
Run Code Online (Sandbox Code Playgroud)