目录
1、世界标准时间(格林尼治时间)
世界标准时间,简称UTC,它是一种规范世界时间的规则,将地球划分为24个时区。
2、编程时,获取系统的标准时间
linux系统时间的计算方式:以1970年1月1日0时0分0秒 到 此时此刻的秒数
1970:是unix的系统起始时间。
#include
time_t time(time_t *tloc);
功能:获取系统的标准时间
参数:tloc:保存秒数的变量地址
返回值:成功返回获取到的秒数
失败返回错误码
- #include
- #include
- int main(void)
- {
- long t,ret;
- ret=time(&t);
- printf("t=%ld\n",t);
- return 0;
- }
#include
char *ctime(const time_t *timep);
功能:将标准时间转换成字符串时间
参数: timep:以秒为单位的时间的指针
返回值:成功返回表示时间的字符串
失败:NULL
- #include
- #include
- int main(void)
- {
- long t,ret;
- ret=time(&t);
- printf("t=%ld\n",t);
-
- printf("%s",ctime(&t));
- return 0;
- }
********************************************************************
#include
struct tm *localtime(const time_t *timep);
功能:
将获得的秒数转换成时间结构体,并返回
参数:
timep:以秒为单位的时间的指针
返回值:成功返回秒数转换的结构体时间
失败返回NULL
struct tm {
int tm_sec; /* Seconds (0-60) */ 秒数
int tm_min; /* Minutes (0-59) */ 分钟
int tm_hour; /* Hours (0-23) */ 小时
int tm_mday; /* Day of the month (1-31) */天
int tm_mon; /* Month (0-11) */月-----注意使用时+1
int tm_year; /* Year - 1900 */
int tm_wday; /* Day of the week (0-6, Sunday = 0) */天在一周里为周几
int tm_yday; /* Day in the year (0-365, 1 Jan = 0) */天在一个月为几日
int tm_isdst; /* Daylight saving time */夏令时
};
- #include <stdio.h>
- #include <time.h>
- #include <stdlib.h>
- int main(void)
- {
- long t,ret;
- struct tm *tp;
- ret=time(&t);
- printf("t=%ld\n",t);
-
- printf("%s",ctime(&t));
-
- if((tp=localtime(&t))==NULL){
- perror("localtime");
- exit(1);
- }
- printf("%4d %02d-%02d %02d:%02d:%02d\n",tp->tm_year+1900,tp->tm_mon+1,tp->tm_mday,tp->tm_hour,tp->tm_min,tp->tm_sec);
-
- printf("%s",asctime(tp));
- return 0;
- }
#include
char *asctime(const struct tm *tm);
功能:
根据结构体的时间,返回字符串时间
参数:
tm:结构体时间
返回值:成功:字符串时间
失败:NULL