使用 Shell 命令转换 Unix 时间戳和日期 date 命令

 2024-03-16 03:09:03  阅读 0

使用 Shell 命令转换 Unix 时间戳和日期 date 命令

于 09/04/艾因·凡尔纳| 看法

程序中经常会用到Unix和日期转换。 通常使用时间戳转换的网页进行转换。 其实Linux命令中有一些命令可以快速实现转换。 主要关注日期命令。 date命令主要用于显示或设置系统时间和日期。

修改系统时区

Linux用于修正系统时区

sudo dpkg-reconfigure tzdata

选择亚洲 >

常用的获取当前Unix日期的date命令

date +%s    # 返回 10 位时间戳,%s 表示从 1970-01-01 0 点 (epoch 开始的秒数)
date +%s%3N # 返回 13 位时间戳,毫秒
date +%s%N  # 返回 10 + 9 位纳秒

将时间戳转换为日期

$ date +%s
1504516338
$ date -d @1504516338
Mon Sep  4 17:12:18 CST 2017

日期格式到毫秒_shell毫秒转换成日期_日期转毫秒值

将日期转换为日期

使用 -d 参数将输入转换为特定的日期格式。 如果不指定具体时间,日期将使用 00:00:00

$ date -d "06/04/1989"
Sun Jun  4 00:00:00 CDT 1989 1559192456
$ date -d "04 June 1989"
Sun Jun  4 00:00:00 CDT 1989
$ date -d "June 04 1989"
Sun Jun  4 00:00:00 CDT 1989
$ date -d "June 04 1989 12:01:01"
Sun Jun  4 12:01:01 CDT 1989

-d选项还有一些其他非常强大的功能,比如

$ date -d '5 minutes ago' # 5 分钟前的时间
Mon Sep  4 17:22:58 CST 2017
$ date -d '100 days'      # 100 天以后的日期
Wed Dec 13 17:29:14 CST 2017
$ date -d '-100 days'     # 100 天以前的日子
Sat May 27 17:30:01 CST 2017
$ date -d '100 days ago'  # 同上
Sat May 27 17:31:10 CST 2017
$ date -d 'next monday'
Mon Sep 11 00:00:00 CST 2017

或者 -d 选项也可以有这样的语法

date -d@1559192456

格式参数

可以使用+来输出不同的格式

date +%

例如

$ date '+%Y-%m-%d %H:%M:%S'
2017-09-04 17:38:46

日期+%a

以缩写形式显示星期几(如周一、周二、周三)

星期四

日期+%A

全名显示星期几(例如 , )

日期+%b

月份缩写名称(例如 Jan、Feb、Mar)

二月

日期+%B

月份名称的缩写(如 , )

日期+%d

一个月中的哪一天(例如 01)

07

日期+%D

日期; 以月/日/年显示

2013年2月7日

日期+%F

日期; 以 YYYY-MM-DD 显示

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码