您的计算机的本地时间与服务器的时间不一致 怎么处理
校准时区,鼠标双击任务栏右下角时间栏或右键单击时间选择“调整日期/时间”——>在弹出的“日期和时间属性”窗口中选择“时区”选项卡——>将时区选择为“(GMT+08:00)北京,重庆,香港特别行政区,乌鲁木齐”——>点击“应用”,不要关闭“时间和日期属性”窗口;
步骤阅读
2
在“日期和时间属性”窗口中选择“时间和日期”选项卡——>尽量将日期和时间调整为当前日期和时间,尽量接近,否则可能导致提示“链接PRC服务器不可用”的问题——>再选择“Internet 时间”选项卡——>将“自动与Internet时间服务器同步(S)”前面打上勾——>点击“确定”退出;
步骤阅读
3
第三步:点击“开始”菜单——>选择“运行”——>输入“servicesmsc”(不含引号)——>在弹出的“服务(本地)”窗口中下拉滑动条,找到“Windows Time”服务——>右键点击“Windows Time”服务,选择“启动”——>关闭“服务(本地)”窗口;
步骤阅读
步骤阅读
4
第四步:双击任务栏右下角时间栏——>选择“Internet 时间”选项卡——>点击“立即更新”——>假如仍然提示“进行同步时出错”,可以将服务器更改为“2107214544”(中国国家授时站服务器IP地址)或者点击服务器中的向下箭头,选择“Timenistgov”——>再尝试点击“立即更新”;
步骤和方法
1>
找到相应的时区文件 /usr/share/zoneinfo/Asia/Shanghai
用这个文件替换当前的/etc/localtime文件。
或者找你认为是标准时间的服务器,然后
#scp root@xxxxxxxxxxxx:/etc/localtime /etc/localtime
2>
修改/etc/sysconfig/clock文件,修改为:
ZONE="Asia/Shanghai"
UTC=false
ARC=false
修改日期时间:
1>
用date修改日期时间
#date -s 08/24/2006
#date -s 13:02:00
2>
同步BIOS时钟,强制把系统时间写入CMOS
#clock -w
另外,查看Bois时间用 #hwclock -r
#tzselect 可以交互式修改时区
Linux修改系统时区
1 查看当前时区
# vi /etc/sysconfig/clock
2 修改设置时区
方法(1) # tzselect 方法(2 仅限于RedHat Linux 和 CentOS) # timeconfig
3 复制相应的时区文件,替换系统默认时区
# cp /usr/share/zoneinfo/$主时区/$次时区 /etc/localtime 对于中国服务器则执行: # cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
4 将当前时间写入BIOS永久生效(避免重启后失效)
# hwclock
查看当前服务器下的时间:
设置操作系统的时区:
备份当前的时区配置
替换系统时区文件
或者创建链接文件
修改clock系统配置文件/etc/sysconfig/clock为如下内容
设置操作系统环境变量TZ
在/etc/profile或~/bashrc文件中设置环境变量TZ
或者
通过source命令即可完成设置
AVA硬编码
按照以上方法操作后,可以获取指定的时区
一、查看和修改Linux的时区 1 查看当前时区 命令 : "date -R" 2 修改设置Linux服务器时区 方法 A 命令 : "tzselect" 方法 B 仅限于RedHat Linux 和 CentOS 命令 : "timeconfig" 方法 C 适用于Debian 命令 : "dpkg-reconfigure tzdata" 3 复制相应的时区文件,替换系统时区文件;或者创建链接文件 cp /usr/share/zoneinfo/$主时区/$次时区 /etc/localtime 例如:在设置中国时区使用亚洲/上海(+8) cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 二、查看和修改Linux的时间 1 查看时间和日期 命令 : "date" 2设置时间和日期 例如:将系统日期设定成2009年11月3日的命令 命令 : "date -s 11/03/2009" 将系统时间设定成下午5点55分55秒的命令 命令 : "date -s 17:55:55" 3 将当前时间和日期写入BIOS,避免重启后失效 命令 : "hwclock -w" 注: date 不加参数可以直接看到当前日期时间 cal 不加参数可以直接看到本月月历
我们认为理所当然的一件事是时钟显示当前时间。当系统的内部时钟失去时间时,它可能会中断计划任务或导致奇怪的Windows错误。而且,几分钟甚至几小时的时间会让你迟到或错过约会。
如果您迷恋在计算机上看到确切的原子钟时间,无论如何,您可能需要设置与远程服务器的同步。但是,在你这样做之前,请注意不应该忽视不准确的Windows时钟。
如果电脑时钟失去时间,但仍然需要调整,可能有一个严重的原因。
1 CMOS电池。
这是最有可能的情况,特别是如果您的电脑稍微大一点。
CMOS电池位于您计算机的主板上,为互补金属氧化物半导体(CMOS)芯片提供电源。该芯片存储有关系统配置的信息,包括日期和时间。CMOS电池可确保芯片即使在计算机关闭且未连接电源时也可存储此数据。如果电池坏了,芯片开始丢失信息,其中一个症状是您的电脑不再维护它的时间和日期。
2时区。
这是计算机时钟失去时间的一个容易解决的原因。
您的电脑可能会被设置为错误的时区,并且每次您修复时间时,都会在重新启动时将其自身重置为该时区。如果分钟是正确的,只有小时差,那可能是你正在处理的问题。
3恶意软件。
这是最不愉快的情况,因为恶意软件非常难以删除。
基于第三种情况(恶意软件造成的不同步),有以下解决方法。
收集一些恶意软件清除工具。首先,确保您的防病毒程序与最新的病毒定义保持同步。然后,获得一个好的恶意软件扫描程序,如Malwarebytes或Spybot Search&Destroy。
一旦你下载,更新和安装了所有这些工具,请以安全模式启动并运行它们。以安全模式启动非常重要,因为当您选择此启动模式时,恶意软件无法启动并处于活动状态。这意味着它不太可能逃避检测和清除。
如果您正在运行Windows 10,我强烈建议您重置或刷新您的系统以消除恶意软件。
为了保护自己免受未来的感染,保持系统和安装的软件都是最新的,使用安全软件保护Windows,并避免冒险的在线行为。
整个地球分为二十四时区,每个时区都有自己的本地时间。在国际无线电通信场合,为了统一起见,使用一个统一的时间,称为通用协调时(UTC,Universal Time Coordinated)。
格林威治标准时间 (Greenwich Mean Time)指位于英国伦敦郊区的皇家格林尼治天文台的标准时间,因为本初子午线被定义在通过那里的经线。(UTC与GMT时间基本相同,本文中不做区分)
中国标准时间 (China Standard Time)GMT + 8 = UTC + 8 = CST
夏令时(Daylight Saving Time) 指在夏天太阳升起的比较早时,将时钟拨快一小时,以提早日光的使用。(中国不使用)
RTC(Real-Time Clock)或CMOS时钟,一般在主板上靠电池供电,服务器断电后也会继续运行。仅保存日期时间数值,无法保存时区和夏令时设置。
一般在服务器启动时复制RTC时间,之后独立运行,保存了时间、时区和夏令时设置。
在CentOS 6版本,时间设置有date、hwclock命令,从CentOS 7开始,使用了一个新的命令timedatectl。
Centos7 修改系统时区timezone ,解决快、慢8小时问题
如果服务器用非 UTC 的时间,时区转换很容易不一致,而且对于有 daylight saving 的时区,每年多一小时少一小时的那两天,系统就会出现各种诡异现象。
服务器使用UTC时间,如要显示用户所在时区的本地时间,在客户端转化即可。
# timedatectl
我们可以看到,服务器使用的CST 时间
# timedatectl set-timezone UTC
# timedatectl set-time "YYYY-MM-DD HH:MM:SS"
# timedatectl set-time "HH:MM:SS"
# timedatectl
我们可以看到,服务器时间类型更改为UTC了
# ll /etc/locatime
lrwxrwxrwx 1 root root 25 1月 14 08:30 /etc/localtime -> /usr/share/zoneinfo/UTC
实际上是做了一个将
文件 /etc/localtime 做了一个软连接到 /usr/share/zoneinfo/UTC
# ln -s /usr/share/zoneinfo/UTC /etc/localtime
ln: 无法创建符号链接"/etc/localtime": 文件已存在
# ln -sf /usr/share/zoneinfo/UTC /etc/localtime
做软连接时,需要加 -f 参数,强制覆盖,不然会显示软链接已存在
# timedatectl set-time "YYYY-MM-DD HH:MM:SS"
# timedatectl set-time "HH:MM:SS" //只设置时分秒
# timedatectl
# clock -w
# date -u //显示UTC时间
CentOS7修改时区的正确姿势
CentOS7上运行Java程序,发现程序生成的时间与当前时间匹配不上,还以为是数据停止更新了,后来发现没有正确使用修改时区的姿势,导致程序时区错误。
正确的修改CentOS7 时区的姿势:
# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
其他系统的修改文件可能是/var/etc/localtime
错误的姿势: 通过cp命令覆盖/etc/localtime时间
# cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
通过cp命令修改时区,通过date, data -R命令显示的时区都是正确的,可是对于java程序而言,是 错误 的。
具体原因在于Java访问系统时区的方式上,可参见文章:
Java TimeZone 和 Linux TimeZone问题
https://myoschinanet/huawu/blog/4646
该文章很好的说明了Java访问系统时区的方式:
1 如有环境变量 TZ设置,则用TZ中设置的时区
2 在 /etc/sysconfig/clock文件中找 “ZONE”的值
3 如何2)都没,就用/etc/localtime 和 /usr/share/zoneinfo 下的时区文件进行匹配,如找到匹配的,就返回对应的路径和文件名。
问题在于,如果使用cp命令来修改/etc/localtime文件,那么可能就会导致修改的不是/etc/localtime文件,而是原时区的文件内容。
/etc/localtime是通过符号链接链接/usr/share/zoneinfo下的文件,而java是通过文件名来确认时区的,data命令是通过文件内容确认时区的,这样就导致了data命令时区正确,而java的时区是错误的!
如上图所示:CentOS7是通过符号链接到/usr/share/zoneinfo/下的时区文件的,如果通过cp指令只会修改原时区文件内容,这样,通过date的系统命令,查看时间是OK的,可是java是通过读取文件名的方式确认时区信息的。所以时区还是纽约。
0条评论