日期格式化方式

/ 默认分类 / 没有评论 / 2126浏览

mysql中日期相关函数

获取当前时间

其中now(3)表示包含3位毫秒的时间,最大可以包含6位

mysql> select now();
+---------------------+
| now()               |
+---------------------+
| 2018-07-20 14:41:17 |
+---------------------+
1 row in set (0.00 sec)
 
mysql> select now(3);
+-------------------------+
| now(3)                  |
+-------------------------+
| 2018-07-20 14:57:21.010 |
+-------------------------+
1 row in set (0.00 sec)

获取时间戳

mysql> select unix_timestamp();
+------------------+
| unix_timestamp() |
+------------------+
|       1532068896 |
+------------------+
1 row in set (0.01 sec)
 
mysql> select unix_timestamp(now(3));
+------------------------+
| unix_timestamp(now(3)) |
+------------------------+
|         1532069820.227 |
+------------------------+
1 row in set (0.01 sec)

字符串-->时间戳

mysql> select unix_timestamp("2018-07-20 00:00:00");
+---------------------------------------+
| unix_timestamp("2018-07-20 00:00:00") |
+---------------------------------------+
|                            1532016000 |
+---------------------------------------+
1 row in set (0.00 sec)

时间戳-->字符串

mysql> select from_unixtime(1532016000);
+---------------------------+
| from_unixtime(1532016000) |
+---------------------------+
| 2018-07-20 00:00:00       |
+---------------------------+
1 row in set (0.00 sec)
 
 
mysql> select from_unixtime(1532016000,'%Y-%m-%d %H:%i:%S');
+-----------------------------------------------+
| from_unixtime(1532016000,'%Y-%m-%d %H:%i:%S') |
+-----------------------------------------------+
| 2018-07-20 00:00:00                           |
+-----------------------------------------------+
1 row in set (0.00 sec)

sql中格式控制符号

格式含义
%a缩写星期名
%b缩写月名
%c月,数值
%D带有英文前缀的月中的天
%d月的天,数值(00-31)
%e月的天,数值(0-31)
%f微秒
%H小时 (00-23)
%h小时 (01-12)
%I小时 (01-12)
%i分钟,数值(00-59)
%j年的天 (001-366)
%k小时 (0-23)
%l小时 (1-12)
%M月名
%m月,数值(00-12)
%pAM 或 PM
%r时间,12-小时(hh:mm:ss AM 或 PM)
%S秒(00-59)
%s秒(00-59)
%T时间, 24-小时 (hh:mm:ss)
%U周 (00-53) 星期日是一周的第一天
%u周 (00-53) 星期一是一周的第一天
%V周 (01-53) 星期日是一周的第一天,与 %X 使用
%v周 (01-53) 星期一是一周的第一天,与 %x 使用
%W星期名
%w周的天 (0=星期日, 6=星期六)
%X年,其中的星期日是周的第一天,4 位,与 %V 使用
%x年,其中的星期一是周的第一天,4 位,与 %v 使用
%Y年,4 位
%y年,2 位

linux中通过shell格式化时间

设置当前系统时间

~ date -s "2021-11-12 22:51:20"

获取当前系统时间

~ date
Sat Nov 13 11:10:43 CST 2021

按指定格式输出

~ date '+%Y-%m-%d %H:%M:%S'
2021-11-13 11:12:08

输出当前时间戳

~ date '+%s'
1636773167

字符串-->时间戳

date -d "2021-11-13 11:12:47" +%s
1636801967

时间戳-->字符串

date -d "@1636801967" '+%Y-%m-%d %H:%M:%S'
2021-11-13 11:12:47

谷歌插件

可以借助谷歌插件完成unix timestamp和可读日期之间的转换,TimeHelper 是一个能够方便进行日期格式转化的插件 在网页中双击1640966400或者1640966400123这样的时间戳,会自动弹出对应的可读时间

时间戳转日期

选中2022-01-01 00:00:00这样的日期也会弹出对应的时间戳

日期转时间戳
同时可以方便的获取当前时间戳,以及通过复制粘贴方式进行格式转化
日期转时间戳
格式转化的样式,格式都可以进行配置
日期转时间戳