Javascript将JSON日期格式化

网络编程 2025-03-25 11:44www.168986.cn编程入门

在进行项目开发时,我们经常需要将实体转化为JSON格式的数据。后台返回的JSON日期格式通常为“/Date(1306418993027)/”,这种格式在前台的JavaScript中并不能直接显示为正常的日期。为了解决这个问题,我们不需要将所有日期字段都转化为字符串,只需利用JavaScript编写一些扩展方法即可轻松实现转换。以下是两种不同格式的转换示例。

方法一:仅包含日期,不包含时分秒

我们定义一个名为`jsonDateFormat`的函数,它接受一个JSON日期字符串作为参数。我们通过替换`/Date(`和`)/`来出时间戳,然后将其转化为JavaScript的Date对象。接着,我们提取出年、月、日的信息,并按照“年-月-日”的格式返回。如果过程中出现异常,则返回空字符串。以下是具体的实现代码:

```javascript

function jsonDateFormat(jsonDate) {

try {

var date = new Date(parseInt(jsonDate.replace("/Date(", "").replace(")/", ""), 10));

var month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1;

var day = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();

return date.getFullYear() + "-" + month + "-" + day;

} catch (ex) {

return "";

}

}

```

方法二:包含日期、时分秒及毫秒

与前一个方法类似,我们还是使用`jsonDateFormat`函数进行转换。不同之处在于,这次我们需要提取出小时、分钟、秒钟以及毫秒的信息,并按照“年-月-日 时:分:秒.毫秒”的格式返回。以下是具体的实现代码:

```javascript

function jsonDateFormat(jsonDate) {

try {

var date = new Date(parseInt(jsonDate.replace("/Date(", "").replace(")/", ""), 10));

var month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1;

var day = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();

var hours = date.getHours();

var minutes = date.getMinutes();

var seconds = date.getSeconds();

var milliseconds = date.getMilliseconds();

return date.getFullYear() + "-" + month + "-" + day + " " + hours + ":" + minutes + ":" + seconds + "." + milliseconds;

} catch (ex) {

return "";

}

}

```

以上就是使用JavaScript将JSON日期格式化的全部内容。这两个函数虽小,但却非常实用。希望它们能对大家的学习和工作有所帮助。如果你在使用中有任何问题,欢迎随时向我提问。

上一篇:ThinkPHP CURD方法之data方法详解 下一篇:没有了

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by