Python和MySQL常用时间格式化异同
Python和MySQL常用时间格式化异同
1. Python时间格式化
Python的 datetime和time模块有一些常用的格式化形式,具体如下。
%Y:四位数的年份,如 2023。
%m:两位数的月份(01 - 12)。
%d:两位数的日期(01 - 31)。
%H:24小时制的小时数(00 - 23)。
%M:分钟数(00 - 59)。
%S:秒数(00 - 59)。
例如,"%Y-%m-%d" 会将时间格式化为2023-09-15的日期形式。
2. MySQL时间格式化
MySQL的 DATE_FORMAT() 函数使用的格式化字符串格式代码与Python有一些相似之处,但也有不同,具体如下。
%Y:四位数的年份,与Python相同。
%m:两位数的月份(01 - 12),与Python相同。
%d:两位数的日期(01 - 31),与Python相同。
%H:24小时制的小时数(00 - 23),与Python相同。
%i:分钟数(00 - 59),这里注意与Python的 %M 不同,MySQL用 %i 表示分钟。
%s:秒数(00 - 59),与Python的%S 类似,但大小写不同。
3. Python的时间戳
Python和MySQL中的时间戳在本质上是基于相同的概念,即表示某个特定时刻与Unix纪元时间(1970年1月1日00:00:00 UTC)之间的秒数间隔。
Python的datetime模块能处理时间戳,datetime.datetime.fromtimestamp()该函数会把时间戳转换成为datetime对象。datetime.datetime.timestamp()函数可以把datetime对象转换成为时间戳。
4. MySQL的时间戳
在MySQL中,时间戳是一种数据类型,它用于存储日期和时间信息,格式为 YYYY-MM-DD HH:MM:SS(年-月-日 时:分:秒),可以精确到秒级。
MySQL的时间戳与Unix时间戳密切相关。可以通过函数 UNIX_TIMESTAMP() 将时间戳转换为Unix时间戳(即从 1970-01-01 00:00:00 UTC到该时刻的秒数)。同样,可以通过函数 FROM_UNIXTIME() 将Unix时间戳转换为 时间戳。