linux查看使用命令时间戳,详解Linux下用date命令查看和计算包含时区的时间戳

在Linux中

1、执行date命令,可以查看当前的时间:

2014年 09月 03日 星期三 10:29:00 CST

其中CST是中国标准时间(China Standard Time)的缩写

2、执行date -u,可以查看当前标准UTC时间:

2014年 09月 03日 星期三 02:29:00 UTC其中UTC是世界协调时间(Universal Time Coordinated)的缩写

3、执行date --rfc-3339=seconds,可以以时区的方式查看当前时间,而不是时区的缩写

2014-09-03 10:29:00+08:00其中最后的+08:00表示时区,即东八区,北京时间,CST

4、执行date --rfc-3339=seconds -u,可以以时区的方式查看UTC时间,而不是时区的缩写

2014-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的日期

2014年 09月 03日 星期三 03:27:57 UTC(2)如果不带参数-u执行date -d '1970-01-01 UTC+00:00 1409714877 seconds'可以计算出这个时间戳转换成UTC+00:00的日期后,在转换成本地时间的日期

2014年 09月 03日 星期三 11:27:57 CST

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值