欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

淘宝京东等厂商的时间戳为什么要用这种格式yyyy-MM-ddHH:mm:ss?

程序员文章站 2022-05-03 23:14:57
...
淘宝京东等厂商的时间戳为什么要用这种格式yyyy-MM-ddHH:mm:ss?

主要是体现在:请求接口传的时间戳是要求这个格式,不知道用什么数据库

回复内容:

淘宝京东等厂商的时间戳为什么要用这种格式yyyy-MM-ddHH:mm:ss?

主要是体现在:请求接口传的时间戳是要求这个格式,不知道用什么数据库

时间戳(timestamp)字段类型(MySQL)选择:
选择1(推荐):
unsigned int(10) 4294967295 (4个字节32位无符号整型 2^32-1)
echo date('Y-m-d H:i:s', 4294967295);
2106-02-07 14:28:15
可见int(10)字段无法存储这个时间后的时间戳.
这时可以用8个字节的bigint(20),保证能够存储地球有生之年的时间戳:
unsigned bigint(20) 18446744073709551615 (8个字节64位无符号整型 2^64-1)
echo date('Y-m-d H:i:s', 18446744073709551615);
注意,32位MySQL可以用8个字节的bigint类型来存储64位整数.
选择2:
timestamp: 时间戳,范围从 1970-01-01 00:00:01 UTC 到 2038-01-09 03:14:07 UTC,存储为自纪元(1970-01-01 00:00:00 UTC)起的秒数.
echo strtotime('2038-01-19 11:14:07'); 返回 2147483647
选择3:
datetime: 日期与时间,支持的范围从 1000-01-01 00:00:00 到 9999-12-31 23:59:59
WordPress保存文章时间戳的字段类型就是datetime.

格式要求是人为定义的.跟数据库无关,数据存储的都是datetime

这样不好吗,数据库好存,人也易读。

在项目实战中发现,大多会使用Y-m-d H:i:s这样的格式,其实是因为datetime格式比较容易中索引,而以时间戳形式保存的时间不好中,有时候甚至不会中索引

具体在哪里使用的?