【技术累积】【点】【java】【6】时间戳

闲聊

加班多诶,写博客诶。


基本

时间戳,直观理解就是时间上面盖个戳罢了,在时间这个轴上面记录个点;

unix时间戳表示从开始的时间点开始,经过了多少秒;

可以简单的看做是一个计时器;

基本定义可以直接看百度百科:unix时间戳

当然,上面这个是用在程序中的时间戳,广义的时间戳可用于一些需要法律效力介入的场景,做统一,做记录啥的。

分析

一些琐碎的点还是需要看下的:

  • 时间戳的范围是1970-2037年,精度精确到秒;
  • 1970,是UNIX出现的时间(制定规则的就是牛逼)
  • 2037,是机制决定的——在计算机内核中,一次计算32位,2的32次是4 294 967 296,到2037年底耗完,目前没有解决方法;

使用

那么时间戳在程序中都是咋用的咧:

  • 因为是整数型的,比date类型要省空间,传输也更快(其实现在的情况下,一般可以不考虑了)
  • 转换成各种类型的date格式;
  • 数据库中自动更新的TIMESTAMP类型,参考:Mysql中的DATE和DATETIME有什么区别?,mysql 关于日期时间的字段类型;目前遇到的,一个表中,created_date是用的DATETIME类型,而modified_date用的是TIMESTAMP类型;

特殊情况

java的默认精度是毫秒级,而时间戳精确到秒级;

时间戳,2的32次方,十进制是10位数;

所以java中的时间戳是13位数;

所以互转的或,基本就是乘以或者除以1000的关系;

参考:不同编程语言中的时间戳

原文地址:https://www.cnblogs.com/andy1202go/p/9541181.html