Java的时间类型数据使用Json字符串传输时变成一串数字的解决方法
来源:互联网 发布:网络网警客服在线电话 编辑:程序博客网 时间:2024/06/16 09:01
终于有时间来写一下这几天的收获了,这几天一直在帮一个研究生完成他的毕业设计,他的毕业设计主要是做一个灌溉系统,该项目使用SSM框架开发,但我还没有系统学习框架,之前对于一个需求都是严格按照MVC设计模式,不采用框架来搭建系统,使用的都是单纯的Servlet程序处理请求,并没有通过框架的自动注入和映射等方式来编写代码,因为我觉得框架只是一个工具,基础打好了,框架的内部实现原理其实都是原生的Servlet程序,只不过为提高开发效率而采用框架这种工具而已。
瞎逼逼了那么久,来进入正题,前天在实现获取数据库的数据并将其转换json字符串进行传输时发现数据库里保存的时间类型的数据如“2017-08-02 17:48:41”,变成了一串令人费解的一串数字,如下图的“cTime”就是数据库里保存的时间类型数据。
好吧,虽然不太清楚内部原因,但是既然是在转化为json串时改变了形式,那么想办法把这个数字串转换为需要的类型再输出就行。由于解析json字符串采用的是JavaScript代码,因此这里只展示js代码的处理方式。先把代码贴出来吧,在代码里写明了思路和转换方法,就不一一在下文分析了,有更好见解的麻烦提出来哟。
<script type="text/javascript">
//改变时间
function transferTime(cTime) {
//将json串的一串数字进行解析
var jsonDate = new Date(parseInt(cTime));
alert(jsonDate);
//为Date对象添加一个新属性,主要是将解析到的时间数据转换为我们熟悉的“yyyy-MM-dd hh:mm:ss”样式
Date.prototype.format = function(format) {
var o = {
//获得解析出来数据的相应信息,可参考js官方文档里面Date对象所具备的方法
"y+" : this.getFullYear(),//得到对应的年信息
"M+" : this.getMonth() + 1, //得到对应的月信息,得到的数字范围是0~11,所以要加一
"d+" : this.getDate(), //得到对应的日信息
"h+" : this.getHours(), //得到对应的小时信息
"m+" : this.getMinutes(), //得到对应的分钟信息
"s+" : this.getSeconds(), //得到对应的秒信息
}
//将年转换为完整的年形式
if (/(y+)/.test(format)) {
format = format.replace(RegExp.$1,
(this.getFullYear() + "")
.substr(4 - RegExp.$1.length));
}
//连接得到的年月日 时分秒信息
for ( var k in o) {
if (new RegExp("(" + k + ")").test(format)) {
format = format.replace(RegExp.$1,
RegExp.$1.length == 1 ? o[k] : ("00" + o[k])
.substr(("" + o[k]).length));
}
}
return format;
}
var newDate = jsonDate.format("yyyy-MM-dd hh:mm:ss");
return newDate;
}
//调用该函数,传入的参数为json字符串形式的时间值
alert(transferTime("1501665896000"));
</script>
这是解析json数字串得到的时间数据格式:
这是通过转换后时间数据格式,明显被转换过来了:
- Java的时间类型数据使用Json字符串传输时变成一串数字的解决方法
- 时间串变成Date类型的数据
- 数据库查出来的明明是时间返回却变成一串无规律的数字。解决方法 /** * 时间戳转时间格式 * @param jsondate 得到的number 型时间数 */ function
- 对一串数字采用相应的加密策略后传输的Java实现代码
- 防止mybatis查询时间类型到前端出现一串数字的问题
- 使用 JSON 进行数据的异步传输
- 使用 JSON 进行数据的异步传输
- c++ 根据当前的时间转化为一串数字
- String类型的字符串变成int类型。
- 关于从字符串中提取一串数字的代码
- 输入不知道长度的一串数字或字符串
- JAVA_检测字符串是不是一串数字的几个方法
- 使用json unmarshal数据到interface{}, 数字变成float64,,golang
- json传输数据时的nullpointerexception
- R 时间变成数字的情况
- 1.把日期类型(Date类型),变成格式化的时间字符串
- 数据返回的一个字符串类型的 不是json类型
- C 输入一串字符,把小写字母变成大写,分别输出大小写、数字、空格的个数
- CSU-ACM2017暑期训练12-KMP F
- array.foreach() 和 array.map() 的用法
- Currency Exchange
- java中的接口和抽象类
- 题目4~7
- Java的时间类型数据使用Json字符串传输时变成一串数字的解决方法
- C语言中access函数的使用
- linux搭建本地yum源
- [编程题] 棋子翻转
- 数据排序之后相邻数的最大差值
- 2017 Multi-University Training Contest
- 练习 3-2 编写一个函数escape(s, t),将字符串t 复制到字符串s 中,并在复制过程中将换行符、制表符等不可见字符分别转换为\n、\t等相应的可见的转义字符序列。要求使用swich语句。
- 古文觀止卷八_進學解_韓愈
- 前端