在Linux中
1、执行date命令,可以查看当前的时间:
09月 03日 星期三 10:29:00 CST
其中CST是中国标准时间(China Standard Time)的缩写
2、执行date -u,可以查看当前标准UTC时间:
09月 03日 星期三 02:29:00 UTC其中UTC是世界协调时间(Universal Time Coordinated)的缩写
3、执行date --rfc-3339=seconds,可以以时区的方式查看当前时间,而不是时区的缩写
-09-03 10:29:00+08:00其中最后的+08:00表示时区,即东八区,北京时间,CST
4、执行date --rfc-3339=seconds -u,可以以时区的方式查看UTC时间,而不是时区的缩写
-09-03 02:36:03+00:00其中+00:00表示时区,即0区
5、执行date +%s或者date +%s -u(结果都一样),可以查看1970-01-01 UTC 00:00:00到现在所经过的秒数
1409712078
6、执行date -d '1970-01-01 UTC+00:00 00:01:00' +%s或者date -u -d '1970-01-01 UTC+00:00 00:01:00' +%s(结果都一样)可以查看1970-01-01 UTC+00:00 00:00:00距1970-01-01 UTC 00:00:00到现在所经过的秒数
60返回0
7、执行date -d '1970-01-01 UTC+08:00 00:00:00' +%s或者date -u -d '1970-01-01 UTC+08:00 00:00:00' +%s可以查看1970-01-01 UTC+08:00 00:00:00距1970-01-01 UTC 00:00:00到现在所经过的秒数
-28800返回-28800,正好是8个小时所经过的秒数(8 x 60 x 60s)。这表示如果要将北京时间(UTC+08:00)的时间戳转换成时间协调时间(UTC+00:00)需要减去28800秒。
这是因为北京所在的时区是东八区,比UTC时间快8个小时。所以同一时间点,在时区为0的区(UTC+00:00)是1970-01-01 UTC+00:00 00:00:00,而在东八区(UTC+08:00)是1970-01-01 UTC+08:00 08:00:00。具体的公式如下:
UTC + 时区差=本地时间
UTC = 本地时间 - 时区差
(时区差东为正,西为负)这点也可以执行date -d '1970-01-01 UTC+08:00 08:00:00' +%s或者date -d '1970-01-01 UTC+08:00 08:00:00' +%s(结果都一样)看出
08、在得到一个时间戳后,我们可以反向的计算出它的日期。如UTC+00:00的1409714549
(1)执行date -u -d '1970-01-01 UTC+00:00 1409714877 seconds'可以计算出这个时间戳转换成UTC+00:00的日期
09月 03日 星期三 03:27:57 UTC(2)如果不带参数-u执行date -d '1970-01-01 UTC+00:00 1409714877 seconds'可以计算出这个时间戳转换成UTC+00:00的日期后,在转换成本地时间的日期
09月 03日 星期三 11:27:57 CST
如果觉得《linux查看使用命令时间戳 详解Linux下用date命令查看和计算包含时区的时间戳》对你有帮助,请点赞、收藏,并留下你的观点哦!