如何使用JavaScript转换JSON日期记录

时间:2018-06-27 20:05:48

标签: javascript mysql json

我从数据库中提取数据并输出JSON。一旦这些项目拉出以这种格式2018-06-25

输入的日期

我尝试过:

var date = new Date(element.rundate).toString().substring(0,15);

但是输出减去这样的日期Sun Jun 24 2018

有人知道如何纠正吗?

2 个答案:

答案 0 :(得分:1)

您可以使用moment.js或

const date = new Date(element.rundate)
result = date.getFullYear() + "-" + date.getMonth() + "-" + date.getDate();

答案 1 :(得分:0)

问题在于,当日期格式为yyyy-mm-dd时,JavaScript会将parse设为ISO 8601 date,因此将假定其为UTC 00:00

但是,如果日期格式为yyyy/mm/ddmm-dd-yyyy,它将根据RFC 2822使用本地时间:

  

日期和时间应该表示当地时间。

因此,用斜杠-代替破折号/可以解决问题。另外,您也可以拆分日期的不同部分,并以mm-dd-yyyy格式创建新的日期字符串表示形式,但我认为以前的方法更加简洁明了:

// Original date:
const dashes = '2018-06-25';

// With slashes instead of dashes:
const slashes = dashes.replace(/-/g, '\/');

// mm-dd-yyyyinstead of dd-mm-yyyy:
const [ year, month, day ] = dashes.split('-');
const monthDayYear = `${ month }-${ day }-${ year }`;

// Output:
console.log(`${ dashes } => ${ new Date(dashes) }`);
console.log(`${ dashes } => ${ slashes } => ${ new Date(slashes) }`);
console.log(`${ dashes } => ${ monthDayYear } => ${ new Date(monthDayYear) }`);