Linux下对date和timestamp的互转

摘要:
UTCUTC是协调世界时的缩写,中文翻译为“世界标准时间”,直译为“协调世界时”或“协调世界时间”。PDPDT是太平洋昼时的缩写,中文翻译为“太平洋昼时”,比UTC晚7小时。夏令时比正常时间早一小时。PDT的对应时间为太平洋标准时间PST。在Linux中,用于查看和设置时钟的命令主要包括日期、hwclock和时钟。

需要确保时区是正确的 若不是CST就要 cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime  

http://www.linuxidc.com/Linux/2010-09/28537.htm

linux下对date和timestamp的互转

1. date 到 timestamp:
$ date -d '2009-12-01 23:20' +%s    
1259680800
2. timestamp 到 date
$ date -d '1970-01-01 1259680800 sec utc'          
Tue Dec  1 23:20:00 CST 2009

3. timestamp 到 UTC date
[root@CDM ~]# date -d '1970-01-01 UTC 1284117137 sec'  -u
五  9月 10 11:12:17 UTC 2010

4. date,当前时间转换为UTC timestamp
[root@CDM ~]# date  +%s

1284117146

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

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

PDT
PDT 是 Pacific Daylight Time 的缩写,译为中文为“太平洋夏令时间”,比 UTC 时间晚 7 小时。Google 曾在其 AdSense 中提到“在 09-6-13,我们的工程师会在 PDT 大约 上午10:00 到下午2:00 对网站进行维护。”
其实除了 PDT 时间,北美地区还有很多时间:
美国夏季始于每年4月的第1个周日,止于每年10月的最后一个周日。夏令时比正常时间早一小时,与PDT时间相对应的是PST , Pacific Standard Time 。 夏时制结束后就是PST
NST - Newfoundland Standard Time 纽芬兰标准时间 
NDT - Newfoundland Daylight Time 纽芬兰夏令时间 
AST - Atlantic Standard Time 大西洋标准时间 
ADT - Atlantic Daylight Time 大西洋夏令时间 
EST - Eastern Standard Time 东部标准时间 
EDT - Eastern Daylight Time 东部夏令时间 
CST - Central Standard Time 中部标准时间 
CDT - Central Daylight Time 中部夏令时间 
MST - Mountain Standard Time 山地标准时间 
MDT - Mountain Daylight Time 山地夏令时间 
PST - Pacific Standard Time 太平洋标准时间 
PDT - Pacific Daylight Time 太平洋夏令时间 
AKST - Alaska Standard Time 阿拉斯加标准时间 
AKDT - Alaska Daylight Time 阿拉斯加夏令时间 
HAST - Hawaii-Aleutian Standard Time 夏威夷-阿留申标准时间 
HADT - Hawaii-Aleutian Daylight Time 夏威夷-阿留申夏令时间 
PST
PST是太平洋标准时间(西八区),与北京时间(东八区)时差-16个小时,也就是北京时间减去16就是PST时间。而PDT比PST早1个小时,就是说PDT与北京时间时差为-15小时

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

Linux 系统改变时区的命令  timeconfig
或者cp /usr/share/zoneinfo/America/Los_Angeles /etc/localtime


2010年美国夏令时:美国2010年夏令时将于3月14日当地时间早上02:00开始
届时时间服务器会从01:59:59 自动跳到03:00:00
 
 

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 --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
  4、时区的设置
  # tzselect

免责声明:文章转载自《Linux下对date和timestamp的互转》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇css hover伪类选择器与JQuery hover()方法deepin系统安装测试工具postman下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

date-fns时间库的基本使用

在react中使用date-fns: import sub_days from 'date-fns/sub_days'; import start_of_week from 'date-fns/start_of_week'; import end_of_week from 'date-fns/end_of_week'; import start_of_...

flink 如何实现对watermark 的checkpoint,防止数据复写

fink slink 后的数据被复写了??? 生产环境总会遇到各种各样的莫名其名的数据,一但考虑不周便是车毁人亡啊。 线上sink 流是es , es 的文档id 是自定义的 id+windowSatarTime 设window size = 10min , watermark 最大延迟时间是 10s,. 数据中的event time 是乱序到达的,数据...

Java DB

将mysql jar包引入项目 jdbc:mysql://127.0.0.1:3306/java java 数据库名称 package com.imooc.db;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class...

sqlserver 使用脚本创建作业

--【作业常用的几个步骤】   EXEC msdb.dbo.sp_delete_job   EXEC msdb.dbo.sp_add_job   EXEC msdb.dbo.sp_add_jobstep   EXEC msdb..sp_add_jobschedule   EXEC msdb.dbo.sp_add_jobserver    EXEC msd...

MySQL sql语句获取当前日期|时间|时间戳

1.1 获得当前日期+时间(date + time)函数:now() MySQL> select now(); +———————+ | now() | +———————+ | 2013-04-08 20:56:19 | +———————+ 除了 now() 函数能获得当前的日期时间外,MySQL 中还有下面的函数: current_time...

Java~时间戳小知识

大叔对java时间戳使用的总结 Java里的Date对象有方法setTime,主要是将一个时间戳转成一个日期对象,而这个时间戳的标准是unix标准,即当前时间与1970/1/1相差的毫秒数,记得是毫秒! .net里的时间戳与java不同,所有需要特殊处理一个它的其实时间,而且.net里时间戳为double,如何要给java传输,需要转为long! jav...