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

使用javascript的基于日期和时间的json元素,javascript,Javascript,我有一个json响应,如下所示: { "NO_INSPECTION": "55", "NO_SURAT": "00055", "DATE_OF_DESCRIPTION": "2015-12-21 03:08:24" } 如何将“描述的日期”中的数据转换为日期和时间。日期应为dd-mm-yyy格式,时间应为HH:mm格式。(描述日期的样本值为2015-12-21 03:08:24) 我尝试了新日期(response.Date\u OF\u DESCRIPTION)但没有成功。如何实现这一点

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

{
 "NO_INSPECTION": "55",
 "NO_SURAT": "00055",
 "DATE_OF_DESCRIPTION": "2015-12-21 03:08:24"
}
如何将
“描述的日期”
中的数据转换为日期和时间。日期应为
dd-mm-yyy
格式,时间应为
HH:mm
格式。(描述日期的样本值为
2015-12-21 03:08:24


我尝试了
新日期(response.Date\u OF\u DESCRIPTION)但没有成功。如何实现这一点?

JavaScript有一个固定的日期格式,您可以更改它,因此这次
日期对象对您没有帮助。在我看来,您希望分割该日期,因此如果您以“dd-mm-yyy-HH:mm”格式提供该日期,将非常容易:

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

您还可以格式化日期,使其符合JS规范,但是,为什么要重新发明轮子呢?库将为您做到这一点,您将获得最佳的跨浏览器结果

我在谷歌上搜索了“javascript日期解析库”,我发现:


在不使用其他库的情况下,假设输出总是零填充且长度相同,我会这样做:

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)
可能重复的
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)