关闭

C---格式化日期函数

106人阅读 评论(0) 收藏 举报
分类:

结构tm的定义为
struct tm
{
int tm_sec;
int tm_min;
int tm_hour;
int tm_mday;
int tm_mon;
int tm_year;
int tm_wday;
int tm_yday;
int tm_isdst;
};
int tm_sec 代表目前秒数,正常范围为0-59,但允许至61秒
int tm_min 代表目前分数,范围0-59
int tm_hour 从午夜算起的时数,范围为0-23
int tm_mday 目前月份的日数,范围01-31
int tm_mon 代表目前月份,从一月算起,范围从0-11
int tm_year 从1900 年算起至今的年数
int tm_wday 一星期的日数,从星期一算起,范围为0-6
int tm_yday 从今年1月1日算起至今的天数,范围为0-365
int tm_isdst 日光节约时间的旗标


time_t time(time_t *t);
time() 函数:返回自 Unix 纪元(January 1 1970 00:00:00 GMT)起的当前时间的秒数。
主要用来获取当前的系统时间,返回的结果是一个time_t类型,其值表示从UTC(Coordinated Universal Time)时间1970年1月1日00:00:00(称为UNIX系统的Epoch时间)到当前时刻的秒数。然后调用localtime函数将time_t所表示的UTC时间转换为本地时间(我们是+8区,比UTC多8个小时)并转成struct tm类型,该类型的各数据成员分别表示年月日时分秒。

char *ctime(const time_t *time);
功 能: 把日期和时间转换为字符串,输出格式如下:
           Thu Nov 19 15:54:39
程序例:
1
2
3
4
5
6
7
8
9
#include<cstdio>
#include<ctime>
intmain(void)
{
time_t t;
t=time(&t);
printf("Today'sdateandtime:%s\n",ctime(&t));
return 0;
}


char* asctime (const struct tm * timeptr).
把timeptr指向的tm结构体中储存的时间转换为字符串字符串格式返格式为:回,Www Mmm dd hh:mm:ss yyyy。其中Www为星期;Mmm为月份;dd为日;hh为时;mm为分;ss为秒;yyyy为年份

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/* asctime example */
#include <stdio.h>      /* printf */
#include <time.h>       /* time_t, struct tm, time, localtime, asctime */
 
int main ()
{
    time_t rawtime;
    struct tm * timeinfo;
 
    time ( &rawtime );
    timeinfo = localtime ( &rawtime );
    printf "The current date/time is: %s"asctime (timeinfo) );
 
    return 0;
}
函数范例的输出:
1
The current date/time is: Wed Feb 13 15:46:11 2013

struct tm *localtime(const time_t *clock);
此函数获得的tm结构体的时间是日历时间

struct tm *gmtime(const time_t *time);
功能:把日期和时间转换为格林威治(GMT)时间的函数。将参数time 所指的time_t 结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果由结构tm返回。

其中asctime ()与ctime()都是可以把时间转为Thu Nov 19 15:54:39 格式的,不同的是asctime ()是转为ASCII,且函数参数为struct *tm结构体的,一般用localtime()或gmtime()函数转为 tm 格式;ctime()是转为字符串,且参数是time_t。



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:33558次
    • 积分:535
    • 等级:
    • 排名:千里之外
    • 原创:9篇
    • 转载:79篇
    • 译文:0篇
    • 评论:0条