您的位置:首页 > 运维架构 > Linux

linux修改系统时间和时区

2012-04-09 11:22 225 查看
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

[align=left] [/align]

[align=left]怎么设置linux时区[/align]

[align=left] [/align]

Local vs. UTC

首先重要的问题是你使用utc还是local time.

UTC(Universal Time Coordinated)=GMT(Greenwich Mean Time)

Local time 是你手表上的时间

传统的POSIX计算机(Solaris,bsd,unix)使用UTC格式

linux可以处理UTC时间和蹩脚的Windows所使用的local time

到底是使用UTC还是local time可以这样来确定:

如果机器上同时安装有Linux和Windows,建议使用local time

如果机器上只安装有Linux,建议使用utc

确定后编辑/etc/sysconfig/clock, UTC=0 是local time; UTC=1 是UTC(GMT)

确定timezone

运行tzselect,回答问题后会告诉你时区的名称,比如"Asia/Shanghai",把他记下来(后面我用$timezone代替)

设定timezone

# cp /usr/share/zoneinfo/$timezone /etc/localtime

重新启动或者运行时钟设置脚本使之发生作用

版本差异

由于发行版的差异,以上文件位置可能不同。

一般设置时钟所使用的启动脚本为/etc/rc.d/init.d/setclock

redhat是在/etc/rc.d/rc.sysinit中设置时钟,所以一般要重新启动

查看mysql的时区

mysql默认为操作系统的时区,查看命令:
SHOW VARIABLES LIKE '%time_zone%'

FROM_UNIXTIME(unix_timestamp) , FROM_UNIXTIME(unix_timestamp,format)

返回'YYYY-MM-DD HH:MM:SS'或YYYYMMDDHHMMSS 格式值的unix_timestamp参数表示,

将UTC时间戳转换为本地时区时间格式
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息