date

#显示时区
[cnscn@root /home/cnscn/backup]# date +%Z
CST

#显示世纪
[cnscn@root /home/cnscn/backup]# date +%C
20
========================设置===============================

#设置时间为: 2005年02月22日 09:10:46
[cnscn@root /home/cnscn/backup]# date 022209102005.46           #月 日 时 分 年 . 秒
二  2月 22 09:10:46 CST 2005


#[cnscn@root /home/cnscn/backup]# date -s "+3 hours"                #将时间增加3小时
二  2月 22 09:46:14 CST 2005


#[cnscn@root /home/cnscn/backup]# date -s "-40 minutes"            #将时间减少40分钟
二  2月 22 09:06:35 CST 2005


#[cnscn@root /home/cnscn/backup]# date -s  "+1 year"                #时间增加1年
三  2月 22 09:14:55 CST 2006


#[cnscn@root /home/cnscn/backup]# date -s  "-1 year"                 #时间减少一年
二  2月 22 09:15:02 CST 2005


======================按日期显示============================
[cnscn@root /home/cnscn/backup]# date -d  "+1 year"
三  2月 22 09:57:46 CST 2006


[cnscn@root /home/cnscn/backup]# date -d "-1 month"
六  1月 22 09:49:08 CST 2005

[cnscn@root /home/cnscn/backup]# date -d "-1 month" +%s
1106358557


#[cnscn@root /home/cnscn/backup]# date -d "7 days ago"           #显示7天前的时间
二  2月 15 09:16:09 CST 2005


#[cnscn@root /home/cnscn/backup]# date -d "7 days ago"  +%s   #显示7天前时间的秒值
1108430178


#[cnscn@root /home/cnscn/backup]# date -d "7 days"                #显示7天后时间的秒值
二  3月  1 09:17:11 CST 2005


#[cnscn@root /home/cnscn/backup]# date -d "7 days"  +%s        #显示7天后时间的秒值
1109639824

=======================================================


#显示当前系统时间和日期
$date


#完整的日期时间显示
[cnscn@root /home/cnscn/backup]# date +%c
2005年02月22日  星期二  09时32分19秒


#以格林威治标准时间显示目前时间和日期
[cnscn@root /home/cnscn/backup]# date -u
二  2月 22 01:38:20 UTC 2005

#以当地习惯显示日期
[cnscn@root /home/cnscn/backup]# date +%x
2005年02月22日


#以mm/dd/yy格式显示系统日期
[cnscn@root /home/cnscn/backup]# date +%D
02/22/05


=========================================================
#英文全称月份
[cnscn@root /home/cnscn/backup]# date +%B
二月

#英文缩写月份
[cnscn@root /home/cnscn/backup]# date +%b
2月
============================================================

#今年第几天
[cnscn@root /home/cnscn/backup]# date +%j
053

============================================================

#时:分:秒
[cnscn@root /home/cnscn/backup]# date +%T09:24:07


#加上AM与PM
[cnscn@root /home/cnscn/backup]# date +%T%p
09:24:07上午


[cnscn@root /home/cnscn/backup]# date +%r
09:34:44 上午

=========================================================
#周几
[cnscn@root /home/cnscn/backup]# date +%w
2

#本地格式周几全称
[cnscn@root /home/cnscn/backup]# date +%A
星期二

#本地格式周几缩写
[cnscn@root /home/cnscn/backup]# date +%a


#今年第几周
[cnscn@root /home/cnscn/backup]# date +%U
08
1)把时间转成秒
  $date -d  "20061206 07:08" +%s
    1165360080

2)把秒转换成时间
   $ date
     2006年 07月 06日 星期四 11:57:18 CST

   $ date -d "now" +%s
     1152158238
   $ date -d "19700101  1152158238 seconds UTC"
     2006年 07月 06日 星期四 11:57:18 CST



====================================
[From] http://bbs.chinaunix.net/viewthread.php?tid=429401

设置时区
      ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

设置硬件时钟时

   1)使用 date 命令设置好系统时钟
      date  MMDDhhmmYYYY.ss
     或
       date  -s "2006-03-23 16:08"

   2)把硬件时钟设置为和当前系统时间一致
     #/sbin/hwclock --systohc


  3)系统或网络间自动同步时间(shunz)
  vi /etc/crontab
  加上一句:
  00 0 1 * * root rdate  -s  time.nist.gov

==========================================================

计算机系统有两个时钟,一个是 BIOS,或者CMOS,或者说“硬件时钟”,还有一个就是“系统(操作系统)时钟”,如果这两个时钟的设置上有问题,或者Linux 的时钟配置文件不正确的话,就会产生系统时钟差 8 小时的问题。


让我们先查看 /etc/sysconfig/clock 的内容:
[root@www /root]# cat /etc/sysconfig/clock
ZONE=Asia/Shanghai    ;/usr/share/zoneinfo 下面的文件。
UTC=false             ; 硬件时钟是否为 UTC 或者说 GMT 时钟。
ARC=false             ;如果是在 Alpha 机器上,则设置为 true 。

把硬件时钟设置为 UTC 的好处就是他能自动设置夏时制,缺点时,在安装有多重操作系统启动的机器上,在另外的操作系统上时钟会错误。

Linux 的时钟设置文件为:/etc/localtime ,实际上这个文件是 /usr/share/zoneinfo 目录下对应文件的符号连接。假设我们所处的地区位于上海,那么只要运行以下的命令就可以设置时区了。

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

Linux 启动时,其中的一个脚本(/etc/rc.d/rc.sysinit)会运行 /sbin/hwclock 程序,把当前的硬件时钟复制为系统时间。hwclock 假定硬件时钟已经设置为本地时钟,除非带有 --utc 参数。脚本文件会读取 /etc/sysconfig/clock 文件的设置,因此我们不需要修改脚本,直接修改这个配置文件就可以了,根据需要把其中的 UTC 行,设置为 true 或者 false。


如果你在某些应用下面的时间是错误的,那么你在运行 Red Hat Linux 5.0 或 5.1,解决的办法是建立 /usr/lib/zoneinfo 到 /usr/share/zoneinfo 的符号连接:

ln -s /usr/share/zoneinfo /usr/lib/zoneinfo

小结:时钟设置的问题本身比较简单,但是它涉及到几个基本的配置文件:

/etc/rc.d/rc.sysinit
/etc/sysconfig/clock
/etc/localtime
/usr/share/zoneinfo

对初学者来说,确实需要一定的基本功才可以对以上的几个文件了如指掌。但是仔细阅读 hwclock 的 man 手册,相信这些问题都能迎刃而解。

 » 相关连接:
diff和patch进行补丁操作
[回复] 相关的一些时间概念
From: http://www.blogjava.net

GMT:
          就是格林威治标准时间的英文缩写,因为世界各国来往频繁,而欧洲大陆、美洲大陆和亚洲大陆都有各自的时区,所以为免混乱,各国的代表就在1884 年在美国华盛顿召开了国际大会,通过协议选出伦敦的格林威治,作为全球时间的中心点,格林威治标准时间因而诞生。所以有GMT功能的腕表就是说腕表拥有其中的小时表盘可以显示GMT时间。

UTC:
            短波传送很远,可能经过许多国家、许多不同时区,所以需要有一统时间作标准, 这个标准时间Co-ordinated Universal Time 缩写UTC 或称 UT。过去称为格林威治时间(GMT),虽然有些地方有冬令时间或夏令时间,但UTC时间是不会改的,大家都以它为标准。

DST:     Daylight saving time .
             (夏令时,各个国家开始和结束时间的计算方法是不一样的)
美国,加拿大夏令时起止时间:每年3月份第二个星期天到11月份第一个星期天(亚利桑那州、夏威夷、波多黎各、维尔京群岛和美属萨摩亚除外)。

德国、意大利等多数欧洲国家夏令时起止时间:每年3月份最后一个星期天到10月份最后一个星期天。


MST:
           Mountain Standard Time

PST:
           Pacific Standard Time

EST:
          Eastern Standard Time

很多朋友对于美剧官方网站上的时间表达方式不是很理解。
这里说明一下,以Prison Break为例:Monday 8/7c
它指的是:星期一 东部时间8点 中部时间7点。两地同时播放,不过因为时差问题,钟表上显示的时间有一个小时的差别。

尽管官网的播放时间对于美国以外的朋友来说意义不大,不过如果你愿意查出相对应的北京时间,可以使用http://www.worldtimeserver.com 的服务,我相信国内也有很多类似的时间转换网站,包括google,百度都可以,这里就不再罗嗦了。至少目前来说,美东时间和北京时间相差12小时,也就是说,我们比美东快12个小时。Prison Break的播放时间就是北京时间第二天的早上8点,也就是星期二 8:00AM.

相对于美国,我们国家的时区划分相对简单很多,特别是取消夏令时后,不出国,我们基本上不用考虑时差问题。

美国本土大陆地区采用的时区自东向西为:
EST
         东岸标准时区 (Eastern Standard Time; EST; UTC-5; R区),包括大西洋沿岸各州、墨西哥湾及密西西比河以东地区。

CST
          中部标准时区 (Central Standard Time; CST; UTC-6; S区),包括密西西比河沿岸以及以西州份的大部份。

MST
           山部标准时区 (Mountain Standard Time; MST; UTC-7; T区), 沿大陆分水岭—洛矶山一线的州份、大盆地及科罗拉多河流淢。
太平洋标准时区 (Pacific Standard Time; PST; UTC-8; U区),包括太平洋沿岸地区及内华达州。

美国本土大陆地区以外地区采用的时区

AKST:
            阿拉斯加标准时区 (Alaska Standard Time; AKST; UTC-9; V区) 包括阿拉斯加州大部份地区。
夏威夷—阿留申时区 (Hawaii-Aleutian Standard Time,非正式:夏威夷标准时 Hawaii Standard Time; HST; UTC-10; W区),包括夏威夷州及169°30'W以西的阿留申群岛。

美国属土采用的时区
AST:
           大西洋标准时区 (Atlantic Standard Time; AST, UTC-4; Q区) 包括波多黎各及美属处女岛。

UTC-11
            萨摩亚时区 (Samoa Standard Time; UTC-11, X区)包括美属萨摩亚。

UTC+10
            查莫罗时区 (Chamorro Standard Time; UTC+10, Zone K)包括关岛及北马里亚纳群岛。

UTC+8
             中国的时区:我们使用北京时间,以前称中原标准时间,现在台湾依然使用这个名称,是中国大陆、香港、澳門和台湾的标准时间。在时区划分上,属东八区,比世界协调时早8小时,记为UTC+8。

严格地讲,北京时间并不是北京(东经116°)地方的时间,而是东经120°度地方的地方时间。而北京时间也不是在北京确定的,而是由位于中国版图几何中心位置陕西临潼的中国科学院国家授时中心的9台铯原子钟和2台氢原子钟组通过精密比对和计算实现,并通过卫星与世界各国授时部门进行实时比对。

 » 相关连接:
diff和patch进行补丁操作
[回复]
[root@cnsLinux ~]# date -s "08/06/07 17:05"
2007年 08月 06日 星期一 17:05:00 CST
[root@cnsLinux ~]# clock --systohc
[root@cnsLinux ~]# hwclock --systohc

 » 相关连接:
diff和patch进行补丁操作
[回复]
参数:
    %a      星期的英文名称缩写
    %A      星期的完整英文名称
    %b      月份的英文名称缩写
    %B      月份的完整英文名称
    %c      显示完整的系统日期与时间,格式为%a %b %e %T %Z 也等同于只使用date命令
    %d      日期(01~31)
    %D      年月日,等同于%m/%d/%Y
    %e      月中的第几天
    %H      小时(以00~23)
    %I      小时(01~12)
    %j      年中第几天
    %k      小时(0~23)
    %l      小时(0~12)
    %m      月份(01~12)
    %M      分钟(00~59)
    %n      显示时,插入新一行
    %P      AM或PM
    %r      时间(12小时制时分秒,及AM或PM)
    %s      总秒数(1970年始的秒数)
    %S      秒(00~59)
    %t      显示时插入Tab
    %T      时间(24小时制时分秒)
    %U      此年中第几周
    %w      本周第几天(0周日 1周一)
    %x      日期(以本地习惯表示)
    %X      时间(本地习惯表示)
    %y      00~99的年份
    %Y      0000~9999的年份
    %Z      时区
    MM      月份(必要)
    DD      日期(必要)
    hh      小时()
    mm      分钟
    CC      年份的前两位数
    YY      年份的后两位数
    ss      秒(可选)
    -d <字符串> 或 --date=<字符串> 显示字符串所指的日期与时间, 字符串前后要加上双引号
    -s <字符串> 或 --set=<字符串>  设置日期与日间
    -u      显示GMT(格林威治时间)
    --help
    --version

 » 相关连接:
diff和patch进行补丁操作
[回复]
[root@www.cnscn.org ~ ]# date -d '1970/01/01 UTC' +%s
0
[root@www.cnscn.org ~ ]# date -d '1970/01/01 CST' +%s
-28800  ( 8*60*60 =28800 )

 » 相关连接:
diff和patch进行补丁操作
 » 本栏目最新帖:

Powered by PHPWind v6.0 Code © 2003-08