如何在 JavaScript 中从 datetime 变量中拆分日期和时间


var d ={
"title": "q",
"message": "q",
"date_time": "March 28, 2018 7:12 PM",
"user_id": "5abb6c929d5b611b01875e9b"
}
var s = d.date_time.split(',')
console.log(s)

如果你不想添加像moment.js这样的库,我建议创建一个原生的 JavaScriptDate对象,并使用它从中提取你需要的任何部分。

const date = new Date(d.date_time);
console.log(`${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}`);
console.log(`${date.getHours()}:${date.getMinutes()}`);

需要注意的几点:

  • getMonth的返回值从零开始
  • 如果需要,您必须使用自己的逻辑将 24 小时时间转换为 12 小时 AM/PM 时间
  • 注意时区

您可以使用 js 插件时刻.js

var dateStr = moment(d.date_time).format('LL');
var timeStr = moment(d.date_time).format('LT');

有关信息,请参阅此处: https://momentjs.com

如果你需要一个数组,那么只需这样做: var cars = [dateStr, timeStr];

您可以使用正则表达式

myArray = /(w+ d+), (d+) (d+):(d+) (w+)/g.exec('March 28, 2018 7:12 PM');

你会得到数组

0:"March 28, 2018 7:12 PM"
1:"March 28"
2:"2018"
3:"7"
4:"12"
5:"PM"

你可以使用它。

或者,如果您只需要拆分日期和时间,请使用:

myArray = /(w+ d+, d+) (d+:d+ w+)/g.exec('March 28, 2018 7:12 PM');

您的结果将是:

0:"March 28, 2018 7:12 PM"
1:"March 28, 2018"
2:"7:12 PM"

var d ={
"title": "q",
"message": "q",
"date_time": "March 28, 2018 7:12 PM",
"user_id": "5abb6c929d5b611b01875e9b"
};
var data = d.date_time.split(' ');
var date = data[0]+' '+data[1]+' '+data[2];
var time = data[3]+' '+data[4];
console.log(date);
console.log(time);

用空格拆分字符串,然后获取数据。

var d ={
"title": "q",
"message": "q",
"date_time": "March 28, 2018 7:12 PM",
"user_id": "5abb6c929d5b611b01875e9b"
},
new_date_time = new Date( d.date_time ),
s = new_date_time.toLocaleDateString(),
t = new_date_time.toLocaleTimeString();
console.log('Date: ' + s );
console.log('Time: ' + t )

最新更新