java后台Date类型与js中的Date类型转化

java后台Date类型与js中的Date类型转化

  • 出现此问题的场景:spring+mybatis+mysql+bootstrap
    因为MySQL中时间字段类型为datetime,mybatis里面自动生成对应的bo类型为Date类型(java.util.Date);但是呢,某个查询操作,查询出数据库中的数据直接用同一个bo返回前台。那么就需要在js中处理返回的bo对象中的 Date对象。
    js中的Date类型和java中的Date类型是不能直接转化的。

js中的Date

参考:http://www.w3school.com.cn/jsref/jsref_obj_date.asp

java中的Date

java中的Date对象结构如下:
{
“date”: 17,
“day”: 3,
“hours”: 17,
“minutes”: 46,
“month”: 4,
“seconds”: 30,
“time”: 1495014390000,
“timezoneOffset”: -480,
“year”: 117
}

js中的Date类型和java中的Date类型是不能直接转化的。
当时一筹莫展,难道必须要在java后台代码中转好了才能返回到前台吗?这样就需要在自己的代码里重新定义一个bo对象。

突然发现

js中Date的初始化方式有如下几种:

JS Date 对象用于处理日期和时间。
创建 Date 对象的语法:
var myDate=new Date()
Date 对象会自动把当前日期和时间保存为其初始值。
参数形式有以下5种:

new Date(“month dd,yyyy hh:mm:ss”);
new Date(“month dd,yyyy”);
new Date(yyyy,mth,dd,hh,mm,ss);
new Date(yyyy,mth,dd);
new Date(ms);

注意 注意 注意 最后一种形式,参数表示的是需要创建的时间和GMT时间1970年1月1日之间相差的毫秒数。
有了最后一种形式,java的Date对象中是有一个毫秒的元素的,刚好。
在js中直接 new Date(*.time)就OK了

你可能感兴趣的:(javaweb)