Javascript将JSON日期格式化
在进行项目开发时,我们经常需要将实体转化为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日期格式化的全部内容。这两个函数虽小,但却非常实用。希望它们能对大家的学习和工作有所帮助。如果你在使用中有任何问题,欢迎随时向我提问。
编程语言
- Javascript将JSON日期格式化
- ThinkPHP CURD方法之data方法详解
- mysql临时表用法分析【查询结果可存在临时表中】
- 详解vue 中使用 AJAX获取数据的方法
- jQuery Mobile开发中日期插件Mobiscroll使用说明
- curl 出现错误的调试方法(必看)
- twig模板获取全局变量的方法
- JBuilder2005实现重构
- jQuery中复合属性选择器用法实例
- 详解React Native 屏幕适配(炒鸡简单的方法)
- 如何测量vue应用运行时的性能
- 微信小程序 仿美团分类菜单 swiper分类菜单
- 世界杯猜想活动的各类榜单的SQL语句小结
- asp经常被忽视的一种死循环
- 用PHP去掉文件头的Unicode签名(BOM)方法
- Git基本概述