导航:首页 > 操作系统 > linux设置时区函数

linux设置时区函数

发布时间:2023-06-16 06:03:10

1. linux系统如何更改时间时区

对于许多与系统相关的任务和进程,使用正确的时区是必不可少的。例如,cron守护进程使用系统的时区执行cron作业,日志文件中的时间戳基于同一系统的时区。

环境

Centos 8

检查现在的时区

timedatectl是一个 命令 行实用程序,允许您查看和更改系统的时间和日期。

[root@localhost ~]# timedatectl

              Local time: Tue 2020-03-31 16:35:23 CST

          Universal time: Tue 2020-03-31 08:35:23 UTC

                RTC time: Tue 2020-03-31 08:35:23

                Time zone: Asia/Shanghai (CST, +0800)

System clock synchronized: yes

              NTP service: active

          RTC in local TZ: no

更改时区

在更改时区之前,您需要找出要使用的时区名称。要列出所有可用时区,请使用下面的 命令 :

[root@localhost ~]# timedatectl list-timezones



Asia/Samarkand

Asia/Seoul

Asia/Shanghai

Asia/Singapore

Asia/Srednekolymsk



然后使用set-timezone选项更改时区,比如更改为Europe/Berlin:

[root@localhost ~]# timedatectl set-timezone Europe/Berlin

使用创建链接的方式更改时区

如果运行的是旧版本的Centos,比如Centos6之前的版本,并且系统上不存在timedatectl命令,则可以通过将/etc/localtime符号链接到/usr/share/zoneinfo目录中的时区文件来更改时区。

查看一下/usr/share/zoninfo下面的时区文件,

[root@localhost ~]# ls /usr/share/zoneinfo/

[root@localhost ~]# ls /usr/share/zoneinfo/Asia/

现在替换时区文件。

[root@localhost ~]# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

[root@localhost ~]# date

Tue Mar 31 16:53:59 CST 2020

可以看到已经切换到了CST中国标准时间

总结

在本文中,使用了两种方式修改时区。一种是使用timedatectl,另一种方式使用创建链接的方式。

2. Linux查看与修改时区、时间的命令

linux查看与修改时区、时间的命令1、查看、修改linux时区与时间一、linux时区的查看与修改1,查看当前时区date
-R2,修改设置时区方法1:tzselect方法2:仅限于RedHat
linux

CentOStimeconfig方法3:适用于Debiandpkg-reconfigure
tzdata3,复制相应的时区文件,替换系统时区文件;或者创建链接文件cp
/usr/share/zoneinfo/$主时区/$次时区
/etc/localtime在中国可以使用:cp
/usr/share/zoneinfo/Asia/Shanghai
/etc/localtime二、linux时间的查看与修改1、查看时间和日期date2、设置时间和日期将系统日期设定成1996年6月10日的命令date
-s
06/22/96将系统时间设定成下午1点52分0秒的命令date
-s
13:52:003.
将当前时间和日期写入BIOS,避免重启后失效hwclock
-w三、定时同步时间*
*
*
*
*
/usr/sbin/ntpdate
210.72.145.44
>
/dev/null
2>&1linux中用于时钟查看和设置的命令主要有date、hwclock和clock。其中,clock和hwclock用法相近,只用一个就行,只不过clock命令除了支持x86硬件体系外,还支持Alpha硬件体系。查看linux系统时间:date修改linux系统时间:date
-s
(后面跟时间)查看linux硬件时间:Java代码
hwclock
#或
clock
#或
hwclock
–show
#或
clock
–show
修改linux硬件时间:C代码
hwclock
–set
–date
#或
clock
–set
–date
让系统时间与硬件时钟同步,用:C代码
hwclock
–hctosys
#或
clock
–hctosys
相反地,让硬件时钟与系统时间同步:C代码
hwclock
–systohc
#或
clock
–systohc
让系统时间每隔十分钟去同步一下硬件时间。C代码
[hqw@localhost
root]$
vi
/etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
#
run-parts
01
*
*
*
*
root
run-parts
/etc/cron.hourly
02
4
*
*
*
root
run-parts
/etc/cron.daily
22
4
*
*
0
root
run-parts
/etc/cron.weekly
42
4
1
*
*
root
run-parts
/etc/cron.monthly
*/10
*
*
*
*
root
hwclock
--hctosys
#加入此行,每隔10分钟执行一次hwclock
--hctosys

3. linux系统下,php设置时区和调用时间函数问题,服务器是nginx.

date_default_timezone_set('Asia/Shanghai');//'Asia/Shanghai' 亚洲/上海
date_default_timezone_set('Asia/Chongqing');//其中Asia/Chongqing'为“亚洲/重庆”
date_default_timezone_set('PRC');//其中PRC为“中华人民共和国”

是区分大小写的,还需要php中关闭安全模式,或允许date_default_timezone_set执行

4. 如何将linux 的本地时间设置为utc时间

如果你的 Linux 系统时区配置不正确,必需要手动调整到正确的当地时区。NTP 对时间的同步处理只计算当地时间与 UTC 时间的偏移量,因此配置一个 NTP 对时间进行同步并不能解决时区不正确的问题。所以大家在用了国外云计算服务商如 Microsoft Azure 或其它 VPS、虚拟机时,需要注意是否与中国大陆的时区一致。

查看Linux当前时区
你可以使用如下命令非常容易地就查看到 linux 系统的当前时区:

date
ls -l /etc/localtime
linux-time02

获取时区TZ值
要更改 Linux 系统时区首先得获知你所当地时区的 TZ 值,使用 tzselect 命令即可查看并选择已安装的时区文件。

执行 tzselect 命令
linux-time03

通过向导选择你所在大洲、国家和城市
tzselect 最终将以 Posix TZ 格式(例如 Asia/Shanghai)输出你所在的时区值,将此记录下来。
linux-time03

更改每个用户的时区
Linux 用户一个多用户系统,每个用户都可以配置自己所需的时区,你可以为自己新增一个 TZ 环境变量:

export TZ='Asia/Shanghai'
执行完成之后需要重新登录系统或刷新 ~/.bashrc 生效。

source ~/.bashrc
更改Linux系统时区
要更改 Linux 系统整个系统范围的时区可以使用如下命令:

sudo rm -f /etc/localtime
sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
注意:/usr/share/zoneinfo/Asia/Shanghai 中的具体时区请用自己获取到的 TZ 值进行替换。
使用Systemd更改Linux系统时区
如果你使用的 Linux 系统使用 Systemd,还可以使用 timedatectl 命令来更改 Linux 系统范围的时区。在 Systemd 下有一个名为 systemd-timedated 的系统服务负责调整系统时钟和时区,我们可以使用 timedatectl 命令对此系统服务进行配置。

sudo timedatectl set-timezone 'Asia/Shanghai'
linux-time05

最后,如果你发现 Ubuntu 与 Windows 双系统时间不同步,可以参考我们之前的文章说明和解决办法。

5. linux下如何修改时区(TIMEZONE)

查看时区
cat /etc/sysconfig/clock
设置时区
tzselect
timeconfig
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。
设置硬件时钟时,首先使用 date 命令(“date MMDDhhmmYYYY.ss”) 设置好系统时钟,然后使用 “/sbin/hwclock –systohc” 把硬件时钟设置为和当前系统时间一致。
如果你在某些应用下面的时间是错误的,那么你在运行 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时区的配置文件是/etc/sysconfig/clock。用tzselect命令就可以修改这个配置文件,根据命令的提示进行修改就好了。 但是在实际工作中,发现这种方式是不能够使得服务器上的时间设置马上生效的,而且使用ntpdate去同步时间服务器也不能够更改时间。即使你使用了date命令手工设置了时间的话,如果使用ntpdate去进行时间同步的话,时间又会被改动到原来的错误时区的时间。而生产的机器往往是非常重要的,不能够进行重启等操作。 在网上找了几种方法试了下,发现如果要修改时区并且马上生效,可以更换/etc/localtime 文件来实现。比如我的时区是中国上海,那么就可以使用如下的命令来使得时区的更改生效。 cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 然后最好使用下面的命令将更改写入bios。

阅读全文

与linux设置时区函数相关的资料

热点内容
路由器服务器昵称是什么 浏览:711
程序员男友消失了 浏览:395
程序员搜索框自动提示 浏览:22
android44api20 浏览:675
adb刷recovery命令 浏览:695
广联达正版加密锁可以补办吗 浏览:943
java程序员一天多少行代码 浏览:946
丧尸危机java 浏览:123
华为手机怎么去除app标记未读信息 浏览:854
java监控文件夹 浏览:805
群控服务器主机怎么转变普通电脑 浏览:707
手机怎么调整app大小 浏览:455
加密门禁卡揭秘 浏览:138
词释pdf 浏览:992
安卓手机上如何停止自动续费 浏览:880
加密编码摘要 浏览:787
疫情命令党 浏览:497
java转sql 浏览:706
android获取apn 浏览:76
phpfpm进程池 浏览:795