java 如何将日期类型Date 时间戳 转换为 期望格式的 日期字符串(mongo db)

时间:2021-07-30 07:54:41

存了一个时间类型(Date)的数据到mongo数据库中,但是前台显示的是一串数字。继而引发了如下问题:
Java里面如何把 时间戳 1477387464495 转换为 2016-10-25 17:24:24 期望格式的日期字符串。
因为业务需要,在model里面有个Date类型的字段,然后需要按这个时间类型排序。但是在后台处理完之后,返回到前台,发现时间变成了13位数字,学名叫时间戳。不是我想要的具体时间,不适合展示啊。具体有如下

mongo数据库中存储时间类型的数据具体如下:

java 如何将日期类型Date 时间戳 转换为 期望格式的 日期字符串(mongo db)


然后debug的时候,时间类型如下:

java 如何将日期类型Date 时间戳 转换为 期望格式的 日期字符串(mongo db)


前台js里面看到的时间类型的数据如下:

java 如何将日期类型Date 时间戳 转换为 期望格式的 日期字符串(mongo db)


具体Java model 里面的属性字段的类型如下:

java 如何将日期类型Date 时间戳 转换为 期望格式的 日期字符串(mongo db)


然后有如下测试:

package com.lxk.test;

import java.text.SimpleDateFormat;
import java.util.Date;

/**
* Created by lxk on 2016/10/25
*/
class Test {
public static void main(String[] args) {
Date ss = new Date();
//Date aw = Calendar.getInstance().getTime();//获得时间的另一种方式,测试效果一样
testTime(ss);

}

/**
* 将Date类型的时间转成 2016-10-25 18:11:55 此格式
*
* @param ss Date类型的时间
*/
public static void testTime(Date ss) {
System.out.println(ss);//打印一般的Date类型的时间
System.out.println(ss.getTime());//这个是把当前时间转换成秒数,即时间戳。
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time = format.format(ss.getTime());//这个就是把时间戳经过处理得到期望格式的时间
System.out.println(time);
}
}


具体测试执行效果:

java 如何将日期类型Date 时间戳 转换为 期望格式的 日期字符串(mongo db)