使用javascript的基于日期和时间的json元素

Date and time based json element using javascript

本文关键字:时间 json 元素 日期 javascript 于日期 使用      更新时间:2023-09-26

我有一个json响应,如下所示:

{
 "NO_INSPECTION": "55",
 "NO_SURAT": "00055",
 "DATE_OF_DESCRIPTION": "2015-12-21 03:08:24"
}

如何将"DATE_OF_DESCRIPTION"中的数据转换为日期和时间。日期应为dd-mm-yyy格式,时间应为HH:mm格式。(DATE_OF_DESCRIPTION的样本值为2015-12-21 03:08:24

我试过new Date(response.DATE_OF_DESCRIPTION);,但没有成功。我怎样才能做到这一点?

如果不使用其他库,并且假设输出总是零填充和相同的长度,我会这样做:

var response = {
  DATE_OF_DESCRIPTION: "2015-12-21 03:08:24"
}
var raw = response.DATE_OF_DESCRIPTION;
var datePart = raw.split(' ')[0];
var timePart = raw.split(' ')[1];
var year = datePart.substring(0, 4);
var month = datePart.substring(5, 7);
var day = datePart.substring(8, 10);
var hours = timePart.substring(0, 2);
var minutes = timePart.substring(3, 5);
// NOTE: Month is 0 indexed
var date = new Date(year, month - 1, day);
var dateTime = new Date(year, month - 1, day, hours, minutes);
console.log(date);
console.log(dateTime);

这给出了输出

Mon Dec 21 2015 00:00:00 GMT+1000 (E. Australia Standard Time)
Mon Dec 21 2015 03:08:00 GMT+1000 (E. Australia Standard Time)
(I'm from Australia, so your timezone will vary)

JavaScript有一个固定的日期格式,您可以更改它,因此Date对象这次对您没有帮助。在我看来,你想分割这个日期,所以如果你以"dd mm yyy HH:mm"的格式提供它,那就很容易了:

response.DATE_OF_DESCRIPTION = response.DATE_OF_DESCRIPTION.split(" "); // date and time are separated by an space
var date = response.DATE_OF_DESCRIPTION[0];
var time = response.DATE_OF_DESCRIPTION[1];

顺便说一句,如果你想以指定的格式解析日期,为什么不使用任何库呢?其中许多方法几乎与本地方法一样可靠和快速。试试看;)

你也可以格式化日期,这样它就符合JS规范,但是,为什么要重新发明轮子呢?图书馆将为您做到这一点,您将获得最佳的跨浏览器结果!

我在谷歌上搜索了"javascript日期解析库",这就是我发现的:

http://momentjs.com/<---我想这就是你想要的!