关于Linux的时间与时区

摘要:
如果UTC为true,则RTC以UTC时间保存,而false表示保存本地时间。有关ARC和SRM的含义,请参阅硬件时钟手册页,通常为false;b、 根据以上获得的内容,构造hwclock命令的参数,并读取从RTC到系统时钟的时间。例如,Linux系统的系统时区设置为CST,COMS时间使用墙时间,即COMS时区也是CST。此时,如果使用--utc参数,hwclock会将COMS时区误认为utc,因此输出时间将自动+8。4,time():返回从1970年1月00:00:00 UTC到现在所经过的秒数。注意,它是UTC。

转:http://linux.chinaunix.net/techdoc/beginner/2007/06/22/960790.shtml

首先要说明的是我的系统是fedora,其他系统可能不完全相同。
1,时间保存在硬件实时钟(RTC)中,RTC由主板电池供电,即使关断电源也不会造成时间丢失。
2,系统启动时从RTC获取时间,这个步骤在rc.sysinit中做:
a,首先从/etc/sysconfig/clock中获取RTC相关参数UTC/ARC/SRM。UTC为true表示RTC保存的时间是UTC时间,false表示保存的是本地时间。ARC与SRM的含义参考hwclock的manpage,一般false即可;
b,根据上面获取的内容构造hwclock命令的参数,将时间由RTC读取到系统时钟。
*需要说明的一点是hwclock的输出是本地时间,localtime/utc参
数只是用来告诉hwclock命令COMS时区是哪个时区。比如Linux系统的系统时区设置为CST(中国标准时间),COMS时间采用墙上时间,即
COMS时区也是CST,这时如果使用--utc参数,会让hwclock误以为COMS时区为UTC,所以输出的时间会自动+8。
3,tzset():tzset在程序中用来初始化tzname等全局变量,它首先
试图从环境变量“TZ”中获取时区,如果TZ环境变量存在,即getenv("TZ")返回值不为NULL,且包含内容有效,则使用TZ值;如果该变量存
在但内容无效,比如包含错误的时区名字,则使用UTC;如果该变量不存在,即getenv("TZ")返回NULL,则查找系统时区设置文件,一般是
/etc/localtime。localtime所指文件的内容格式可参考tzfile(5)。
4,time():返回自00:00:00 UTC, January 1, 1970到现在所经过的秒数,注意,是UTC。转成CST要加上28800秒,即8个小时。
5,ctime()/localtime()/mktime():这类和时区相关的函数内部会调用tzset,但只是第一次调用tzset会做实际初始化,后面的调用都是直接返回。
6,系统关闭时,如执行shutdown/reboot/poweroff/halt等操作后,系统时间会保存到RTC中,这是在halt脚本中完成的,参看/etc/init.d/halt内容。

免责声明:文章转载自《关于Linux的时间与时区》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇不修改sql文本情況下,改變其執行計劃十、future其他成员函数、shared_future、atomic(原子操作)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

linux 系统时间与硬件时间与中国标准时间

转载原文: https://blog.csdn.net/tvk872/article/details/82957445 Linux下设置时区 提供两种最根本有效的方式,就是更改时区。这里以更改为国内上海时间例子,其他地方时区同理。 方法一 备份文件mv /etc/localtime /etc/localtime.bak 复制时区文件cp /usr/sh...

Linux 修改时区和时间

时区文件 CentOS 和 Ubuntu 的时区文件是/etc/localtime, 但是在 CentOS7 以后localtime以及变成了一个链接文件 : # ll /etc/localtime lrwxrwxrwx. 1 root root 38 Mar 13 2017 /etc/localtime -> ../usr/share/zone...

VMWare Esxi 6.5(实际为5.x,6.x)时区问题

Esxi不支持修改时区,但是可以使用ESX或者Centos 6/7的localtime文件进行替换以实现时区修改,问题是,重启后文件会被还原。 详细的纠结过程就不说了,终级解决方案如下(给公司写的,现分享出来): 大概思路是:将centos 6中/usr/share/zoneinfo/Asia/Shanghai文件(如果是它国时区,请自行替换base64内...

Python实例讲解 -- 获取本地时间日期(日期计算)

1. 显示当前日期:   1 #! /usr/bin/env python2 #coding=utf-83 4 import time5 6 print time.strftime('%Y-%m-%d %A %X %Z',time.localtime(time.time())) 或者 1 #! /usr/bin/env python2 #coding...

docker-compose搭建mongodb分片集群(单机版)

mongodb分片机制原理 一、概念:   分片(sharding)是指将数据库拆分,将其分散在不同的机器上的过程。将数据分散到不同的机器上,不需要功能强大的服务器就可以存储更多的数据和处理更大的负载。基本思想就是将集合切成小块,这些块分散到若干片里,每个片只负责总数据的一部分,最后通过一个均衡器来对各个分片进行均衡(数据迁移)。通过一个名为mongos...

Arch Linux中禁用UTC解决双系统时间问题

原因 Windows双系统时间不统一在于时间表示有两个标准:localtime 和 UTC(Coordinated Universal Time) 。UTC 是与时区无关的全球时间标准。尽管概念上有差别,UTC 和 GMT (格林威治时间) 是一样的。localtime 标准则依赖于当前时区。 时间标准由操作系统设定,Windows 默认使用 localt...