时间戳
一 为什么要使用时间戳
- 不同数据库之间对Date类型的解释不尽相同,迁移数据库就造成了困扰
- UNIX和Windows下对Date类型的解释也是有所区分差别
而时间戳是通用的,就像北京时间 2020-05-11 21:06:29 转换为时间戳 就是 1589202389 ,你可以使用任何语言将他 format 成想要的显示格式,比如 yyyy-MM-dd HH:mm:ss
当然这是用各种代码进行实现的,下面我们就将用 java 做一个 damo 演示怎么将时间戳与时间转换
二 时间戳与Date的相互转换
/**
* @program: Socket
* @description: 时间戳
* @author: Dcpnet
* @create: 2020-05-11 20:51
*/
public class TimeTest {
public static void main(String[] args) {
/*获取format*/
SimpleDateFormat simpleDateFormat = null;
/*获取系统的时间*/
Date date = new Date(System.currentTimeMillis());
/*设置 时间 format*/
simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
/*普通的 format 时间*/
String datetime = simpleDateFormat.format(date);
System.out.println("普通的 DateFormat :"+datetime);
/*下面展示时间戳与时间的转换*/
try {
/*Date -> 时间戳*/
date = simpleDateFormat.parse(datetime);
System.out.println("Date -》 时间戳:"+date.getTime());
} catch (ParseException e) {
e.printStackTrace();
}
/*时间戳 -> Date*/
System.out.println("时间戳 -》 Date:"+simpleDateFormat.format(date));
}
}
现在我们运行 main ,可以看到控制台输出
普通的 DateFormat :2020-05-11 21:18:35
Date -》 时间戳:1589203115000
时间戳 -》 Date:2020-05-11 21:18:35Process finished with exit code 0