分享

linux修改时间和日期的方法,linux 查看修改硬件时间,linux 修改时区 DOS...

 antyoung 2012-04-17

linux修改时间和日期的方法
      
修改linux的时间可以使用date指令

修改日期:
时间设定成2009年5月10日的命令如下:
#date -s 05/10/2009

修改时间:
将系统时间设定成上午10点18分0秒的命令如下。
#date -s 10:18:00

修改时区:
找到相应的时区文件 /usr/share/zoneinfo/Asia/Shanghai替换当前的/etc/localtime。
修改/etc/sysconfig/clock文件的内容为:
ZONE=”Asia/Shanghai”
UTC=false
ARC=false

同步bios时间:
同步BIOS时钟,强制把系统时间写入CMOS,命令如下:
#clock -w

date命令的功能是显示和设置系统日期和时间。
输入date 查看目前系统时间。

修改时间需要 date -功能字符 修改内容

命令中各选项的含义分别为:
-d datestr, --date datestr 显示由datestr描述的日期
-s datestr, --set datestr 设置datestr 描述的日期
-u, --universal 显示或设置通用时间

时间域
%H 小时(00..23)
%I 小时(01..12)
%k 小时(0..23)
%l 小时(1..12)
%M 分(00..59)
%p 显示出AM或PM
%r 时间(hh:mm:ss AM或PM),12小时
%s 从1970年1月1日00:00:00到目前经历的秒数
%S 秒(00..59)
%T 时间(24小时制)(hh:mm:ss)
%X 显示时间的格式(%H:%M:%S)
%Z 时区 日期域
%a 星期几的简称( Sun..Sat)
%A 星期几的全称( Sunday..Saturday)
%b 月的简称(Jan..Dec)
%B 月的全称(January..December)
%c 日期和时间( Mon Nov 8 14:12:46 CST 1999)
%d 一个月的第几天(01..31)
%D 日期(mm/dd/yy)
%h 和%b选项相同
%j 一年的第几天(001..366)
%m 月(01..12)
%w 一个星期的第几天(0代表星期天)
%W 一年的第几个星期(00..53,星期一为第一天)
%x 显示日期的格式(mm/dd/yy)
%y 年的最后两个数字( 1999则是99)
%Y 年(例如:1970,1996等)

需要特别说明的是,只有超级用户才能用date命令设置时间,一般用户只能用date命令显示时间。

例1:用指定的格式显示时间。
$ date '+This date now is =>%x ,time is now =>%X ,thank you !'
This date now is =>11/12/99 ,time is now =>17:53:01,thank you !
例2:用预定的格式显示当前的时间。
# date
Fri Nov 26 15:20:18 CST 1999
例3:设置时间为下午14点36分。
# date -s 14:36:00
Fri Nov 26 14:15:00 CST 1999
例4:设置时间为1999年11月28号。
# date -s 991128
Sun Nov 28 00:00:00 CST 1999

实例:设置时间伟2008年8月8号12:00
# date -s "2008-08-08 12:00:00"

修改完后,记得输入:clock -w
把系统时间写入CMOS

 

 

 

在Linuix 系统里面,系统时间由3个因素决定:硬件时间、UTC(/etc/default/rcS)、Timezone

  /etc/default/rcS 里面的UTC选项,告诉Linux系统,这个硬件时间是否UTC时间。Timezone 是设定系统所处UTC时区(我现在用的是 Asia/Shanghai)。

  最后,系统启动时候读出硬件时间,再根据是否UTC时间、系统所处Timezone计算出系统localtime。

  下面是硬件时钟的时间
  DNAS:~# hwclock --show
  Wed 03 Oct 2007 09:40:10 PM CST  -0.169539 seconds

  由于我已经在/etc/default/rcS 里面设置了UTC=no,告诉了系统,硬件时间并不是UTC时间。之后系统时间就会根据以下两个文件决定时区了:

  /etc/timezone
  /etc/localtime

  timezone 是一个文本文件,只需要把自己所处的时区写进去就可以了,我的是 Asia/shanghailocaltime 直接从 /usr/share/zoneinfo 把自己所处时区的文件做一个 ln 过去就好了。

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

  下面是date命令所返回的日期时间,这是已经计算过的了。

  DNAS:~# date
  Wed Oct  3 21:38:11 CST 2007

  接下来就是关于系统时间、硬件时间同步问题了

  在刚装好的系统里面, hwclock 这个命令是返回这样的错误的:
  select() to /dev/rtc to wait for clock tick timed out

  也就是说系统不能访问硬件时间(RTC),也许是因为自己的新型号机器BIOS的处理方式跟Linux的老款RTC module之间有兼容问题。

  有问题,换一个RTC module就是了。Linux的RTC module有下面三个 rtc/genrtc/rtc_dev

  modprobe
  hwclock --show
  rmmod

  把三个module都试过,看哪个比较好用的。

  然后修改 /etc/modprobe.d/blacklist 把不好用的blacklist掉, /etc/modules 把好用的那个加上。我自己用的就是 rtc_dev 这个module。

  关于 date/hwclock 命令的使用,man一下就有很详细了。

 

 

 

 

DOS下设置日期时间

一、DATA日期设置命令

功能:设置或显示系统日期。

类型:内部命令

格式:Date[mm-dd-yy]

使用说明:

(1)省略[mm-dd-yy]显示系统日期并提示输入新的日期,不修改则可直接按回车键,[mm-dd-yy]为“月月-日日-年年”格式;

(2)当机器开始启动时,有自动处理文件(AUTOEXEC.BAT)被执行,则系统不提示输入系统日期。否则,提示输入新日期和时间。

实例:

查看当前系统的日期,直接输入date即可。

 

 

二、TIME系统时钟设置命令

功能:设置或显示系统时期。

类型:内部命令

格式:TIME[hh:mm:ss:xx]

使用说明:

(1)省略[hh:mm:ss:xx],显示系统时间并提示输入新的时间,不修改则可直接按回车键,[hh:mm:ss:xx]为“小时:分钟:秒:百分之几秒”格式;

(2)当机器开始启动时,有自动处理文件(AUTOEXEC.BAT)被执行,则系统不提示输入系统日期。否则,提示输入新日期和时间

 

 


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多