原文地址:linux设置系统时间作者:风格懒妞
我们一般使用“date-s”命令来修改系统时间。比如将系统时间设定成20066年10月19日的命令如下。
#date -s 19/10/2006
将系统时间设定成下午1点12分0秒的命令如下。
#date -s 13:12:00
---- 注意,这里说的是系统时间,是linux由操作系统维护的。
----在系统启动时,Linux操作系统将时间从CMOS中读到系统时间变量中,以后修改时间通过修改系统时间实现。为了保持系统时间与CMOS时间的一致性,Linux每隔一段时间会将系统时间写入CMOS。由于该同步是每隔一段时间(大约是11分钟)进行的,在我们执行date-s后,如果马上重起机器,修改时间就有可能没有被写入CMOS,这就是问题的原因。如果要确保修改生效可以执行如下命令。
---- #clock -w
---- 这个命令强制把系统时间写入CMOS。
[root@mail ~]# date --help
Usage: date [OPTION]... [+FORMAT]
or: date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
Display the current time in the given FORMAT, or set the system date.
-d,--date=STRING display time described by STRING, not `now'
-f,--file=DATEFILE like --date once for each line of DATEFILE
-ITIMESPEC,--iso-8601[=TIMESPEC] output date/time in ISO 8601 format.
TIMESPEC=`date' for date only,
`hours', `minutes', or `seconds' for date and
time to the indicated precision.
--iso-8601 without TIMESPEC defaults to `date'.
-r,--reference=FILE display the last modification time of FILE
-R,--rfc-2822 output RFC-2822 compliant date string
-s,--set=STRING set time described by STRING
-u, --utc,--universal print or set Coordinated Universal Time
--help 显示此帮助信息并离开
--version 显示版本信息并离开
FORMAT controls the output. The only valid option for the second form
specifies Coordinated Universal Time. Interpreted sequences are:
%% a literal %
%a locale's abbreviated weekday name (Sun..Sat)
%A locale's full weekday name, variable length (Sunday..Saturday)
%b locale's abbreviated month name (Jan..Dec)
%B locale's full month name, variable length (January..December)
%c locale's date and time (Sat Nov 04 12:02:33 EST 1989)
%C century (year divided by 100 and truncated to an integer) [00-99]
%d day of month (01..31)
%D date (mm/dd/yy)
%e day of month, blank padded ( 1..31)
%F same as %Y-%m-%d
%g the 2-digit year corresponding to the %V week number
%G the 4-digit year corresponding to the %V week number
%h same as %b
%H hour (00..23)
%I hour (01..12)
%j day of year (001..366)
%k hour ( 0..23)
%l hour ( 1..12)
%m month (01..12)
%M minute (00..59)
%n a newline
%N nanoseconds (000000000..999999999)
%p locale's upper case AM or PM indicator (blank in many locales)
%P locale's lower case am or pm indicator (blank in many locales)
%r time, 12-hour (hh:mm:ss [AP]M)
%R time, 24-hour (hh:mm)
%s seconds since `00:00:00 1970-01-01 UTC' (a GNU extension)
%S second (00..60); the 60 is necessary to accommodate a leap second
%t a horizontal tab
%T time, 24-hour (hh:mm:ss)
%u day of week (1..7); 1 represents Monday
%U week number of year with Sunday as first day of week (00..53)
%V week number of year with Monday as first day of week (01..53)
%w day of week (0..6); 0 represents Sunday
%W week number of year with Monday as first day of week (00..53)
%x locale's date representation (mm/dd/yy)
%X locale's time representation (%H:%M:%S)
%y last two digits of year (00..99)
%Y year (1970...)
%z RFC-2822 style numeric timezone (-0500) (a nonstandard extension)
%Z time zone (e.g., EDT), or nothing if no time zone is determinable
By default, date pads numeric fields with zeroes. GNU date recognizes
the following modifiers between `%' and a numeric directive.
`-' (hyphen) do not pad the field
`_' (underscore) pad the field with spaces
Report bugs to