相关文件:
/etc/localtime 本地时间二级制文件
/etc/sysconfig/clock 时区配置文件
/usr/share/zoneinfo 存储各个时区的二进制文件
时间修改方式一:
1、date -s "具体时间"
2、clock -w 写入CMOS
时间修改方式二:
1、通过tzselect设置时区
2、rm /erc/localtime
3、ln -sf /usr/share/zoneinfo/Asia/Chongqing /etc/localtime
时间修改方式三:
1、修改/etc/sysconfig/clock
2、rm /erc/localtime
3、ln -sf /usr/share/zoneinfo/Asia/Chongqing /etc/localtime
date常用选项:
date -u 查看UTC(时间统计时间)
date -s 设置系统时间,设置好后需要clock -w
date +"特定格式输出时间"
%H 小时(00..23)
%I 小时(01..12)
%k 小时(0..23)
%l 小时(1..12)
%M 分(00..59)
%p 显示出AM或PM
%r 时间(hh:mm:ss AM或PM),12小时
%s 从1970年1月1日00:00:00到目前经历的秒数
%S 秒(00..59)
%T 时间(24小时制)(hh:mm:ss)
%X 显示时间的格式(%H:%M:%S)
%Z 时区 日期域
%a 星期几的简称( Sun..Sat)
%A 星期几的全称( Sunday..Saturday)
%b 月的简称(Jan..Dec)
%B 月的全称(Januaryda..December)
%c 日期和时间( Mon Nov 8 14:12:46 CST 1999)
%d 一个月的第几天(01..31)
%D 日期(mm/dd/yy)
%h 和%b选项相同
%j 一年的第几天(001..366)
%m 月(01..12)
%w 一个星期的第几天(0代表星期天)
%W 一年的第几个星期(00..53,星期一为第一天)
%x 显示日期的格式(mm/dd/yy)
%y 年的最后两个数字( 1999则是99)
%Y 年(例如:1970,1996等)
举例:
date +"%Y-%m-%d %H:%M:%S"
2014-12-29 15:19:27
时间函数:包含头文件time.h,住clock_t 与 time_t都是long int 类型
clock_t clock(); //计时器,用于求从程序开始到该函数调用的时间(秒) = clock()/CLOCKS_PER_SEC
time_t time(time_t * temp); //求本地时间戳,若参数为NULL,则返回时间戳。若有参数则结果存储在temp所指向的变量中。
char * ctime(time_t * temp); //将时间戳转化为可读的字符串
struct tm * gmtime(time_t *temp); //将时间戳转化为UTC时间,保存到tm结构体中
struct tm * localtime(time_t * temp); //将时间戳转化为本地时间,保存到tm结构体中
char * asctime(struct tm * temp) ; //将tm结构体转化为可读的字符串
strftime(char * buf , int bufsize , "格式化字符串", struct tm * temp); //提取tm结构体中的相关选项,并按照格式化字符串输出到buf中去
#include <stdio.h> #include <time.h> #include <string.h> void main(){ int count = 0; while(count<9999999){ count++; } clock_t t1 = clock(); printf("clock()/CLOCKS_PER_SEC:%f\n",(float)t1/CLOCKS_PER_SEC); time_t t2 = time(NULL); printf("time():%ld\n",t2); printf("ctime:%s",ctime(&t2)); printf("gmtime:%s",asctime(gmtime(&t2))); printf("localtime:%s",asctime(localtime(&t2))); char buf[100]; memset(buf,0,100); strftime(buf,100,"strftime:%Y-%m-%d %H:%M:%S\n",localtime(&t2)); printf(buf); }
clock()/CLOCKS_PER_SEC:0.040000
time():1419928685
ctime:Tue Dec 30 16:38:05 2014
gmtime:Tue Dec 30 08:38:05 2014
localtime:Tue Dec 30 16:38:05 2014
strftime:2014-12-30 16-38-05