Linux下date和timestamp互转

Linux下date和timestamp互转

1.     Show current time:

[root@localhost~]# date

Thu Mar 2414:42:08 CST 2016

[root@localhost~]# date -R

Thu, 24 Mar 201614:42:08 +0800

[root@localhost~]# date "+%Y-%m-%d %H:%M:%S"

2016-03-2414:42:08

[root@localhost~]# date "+%Y/%m/%d %H:%M:%S"

2016/03/2414:42:08

2.     current time to UTCtimestamp

 [root@localhost ~]# date +%s

1458801728

3.     date to timestamp:

[root@localhost~]# date +%s -d "`date "+%Y-%m-%d %H:%M:%S"`"

1458801728

4.     timestamp to date

[root@localhost~]# date -d "1970-01-01 UTC "`date +%s`" sec"

Thu Mar 2414:42:08 CST 2016

5.     timestamp to UTC date

[root@localhost~]# date -d "1970-01-01 UTC "`date +%s`" sec" -u

Thu Mar 2406:42:08 UTC 2016

Linux 系统改变时区的命令:

1.   tzselect

该命令只告诉你如何选择一个时区,该时区并不会生效。你可以在.profile、.bash_profile或者/etc/profile中设置正确的TZ环境变量并导出。例如在.bash_profile里面设置TZ='Asia/Shanghai'; export TZ, 然后执行source .bash_profile使其生效。

2.   cp /usr/share/zoneinfo/Asia/Shanghai/etc/localtime

如果已经在profile或.bash_profile里面设置了TZ,则执行上面命令后,使用date -R发现时区设置没有生效。

3.   ln -sf/usr/share/zoneinfo/Asia/Shanghai /etc/localtime

如果出现ln: creating hard link `/etc/localtime' to`/usr/share/zoneinfo/Asia/Shanghai': File exists

可删除该文件再重新创建软连接:[root@db-server~]# rm –f /etc/localtime

4.   timeconfig仅限于RedHat Linux 和 CentOS,如果没有可自行安装。

5.   dpkg-reconfigure tzdata仅适用于Debian

 

Linux下修改时间时区

 Linux时钟分为系统时钟(System Clock)和硬件(Real Time Clock,简称RTC)时钟。系统时钟是指当前Linux Kernel中的时钟,而硬件时钟则是主板上由电池供电的时钟,这个硬件时钟可以在BIOS中进行设置。当Linux启动时,硬件时钟会去读取系统时钟的 设置,然后系统时钟就会独立于硬件运作。

  Linux中的所有命令 (包括函数)都是采用的系统时钟设置。在Linux中,用于时钟查看和设置的命令主要有date、hwclock和clock。其中,clock和 hwclock用法相近,只不过clock命令除了支持x86硬件体系外,还支持Alpha硬件体系。

1、date

查看系统时间

# date

 

设置系统时间

# date -s "3/23/20167:55:00"

# date--set=“07/07/06 10:19" (月/日/年 时:分:秒)

 

2、hwclock/clock

查看硬件时间

#hwclock --show

# clock –show

 

设置硬件时间

#hwclock --set --date="07/07/06 10:19" (月/日/年 时:分:秒)

# clock --set--date="07/07/06 10:19" (月/日/年 时:分:秒)

 

3、硬件时间和系统时间的同步

重新启动系统,硬件时间会读取系统时间,实现同步,但是在不重新启动的时候,需要用hwclock或clock命令实现同步。

硬件时钟与系统时钟同步:

# hwclock --hctosys(hc代表硬件时间,sys代表系统时间)

# clock –hctosys

 

系统时钟和硬件时钟同步:

# hwclock --systohc

# clock –systohc

 

世界时区介绍:

GMT

GreenwichMean Time,“格林威治标准时间”或“格林尼治标准时间”,直译的话,可译为“格林威治平时”或“格林尼治平时”。这里的格林威治位于英国伦敦东南方向的泰晤士河畔,美国也有个格林威治镇,不过与时间没关系。

UTC

Coordinated Universal Time, “世界标准时间”,直译为“协调通用时间”或“协调世界时间”。目前来说也就是指 GMT 时间。为什么说目前就是指 GMT 时间呢?因为本初子午线(子午线即经线,本初子午线即 0 度经线)其实穿过的是沙特阿拉伯西边的麦加,而不是英国的格林威治。当时英国皇家学会暂时确定格林威治为本初子午线的穿过点﹐加之英国正是兴旺发达时期, 全世界就将错就错,用到现在。说不定哪天改为麦加时间为标准时间也不是没有可能。所以我们一般使用 UTC,而不是 GMT。

PDT

PacificDaylight Time,译为中文“太平洋夏令时间”,比 UTC 时间晚 7 小时。Google 曾在其 AdSense 中提到“在 09-6-13,我们的工程师会在 PDT 大约 上午10:00 到下午2:00 对网站进行维护。”

其实除了 PDT 时间,北美地区还有很多时间:

美国夏季始于每年4月的第1个周日,止于每年10月的最后一个周日。夏令时比正常时间早一小时,与PDT时间相对应的是PST。夏时制结束后就是PST

PST

PacificStandard Time,太平洋标准时间(西八区),与北京时间(东八区)时差-16个小时,也就是北京时间减去16就是PST时间。而PDT比PST早1个小时,就是说PDT与北京时间时差为-15小时

DST

Daylight Saving Time 或 Daylight Time,夏令时。又称“日光节约时制”和“夏令时间”,一般在天亮早的夏季人为将时间提前一小时。美国和加拿大原本于每年10月的最后一个星期日凌晨2时起实施冬令时间;4月的第一个星期日凌晨2时起,恢复夏令时间。

但是根据美国国会最新通过的能源法案,为加强日光节约,自2007年起延长夏令时间,开始日期从每年4月的第一个星期日,提前到3月的第二个星期日,结束日期从每年10月的最后一个星期日,延后到11月的第一个星期日。换言之,冬令时间将缩短约一个月。之所以安排在周日,是为了便于生活的调整不至于受到较大的影响。

2016年美国夏令时:

美国2016年夏令时在当地时间3月12日早上02:00(北京时间3月13日14:00)开始,时间服务器已从01:59:59 自动调到03:00:00;至2016年11月6日早上02:00结束,届时时间服务器会从01:59:59 自动调到01:00:00

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值