C语言输出日期,c语言中日期格式化
例程

其实函数就那么几个,具体方法也不少,以下列出几种:
#include \”stdio.h\”#include \”sys/time.h\” char timestr[128]=\”\”;time_t now;//方法1// now = time( 0 );int main(){//设置时区(不一定有用)setenv(\”TZ\”, \”GMT-8\”, 1); tzset(); //方法1 time(&now); strftime(timestr, 128, \”%a, %d %b %Y %H:%M:%S GMT\”, localtime(&now)); printf(\”strftime(fmt localtime(&now))Date&Time:%s\\r\\n\”, timestr); //方法2 struct tm *p; now = time( 0 ); p=gmtime(&now); //无时区信息 strftime(timestr, 128, \”%Y-%m-%d %H:%M:%S\”, p); printf(\”strftime(fmt gmtime(&now))Date&Time:%s\\r\\n\”, timestr); printf(\”p->tm_hour:p->tm_min:p->tm_sec >>> %02d:%02d:%02d\\r\\n\”,p->tm_hour,p->tm_min,p->tm_sec); //方法3 struct tm timeinfo; time_t t = time( 0 ); timeinfo = *localtime(&now); printf(\”Date&Time:%04d-%02d-%02d,%02d:%02d:%02d\”,1900+(timeinfo.tm_year), (timeinfo.tm_mon)+1,timeinfo.tm_mday, timeinfo.tm_hour, timeinfo.tm_min, timeinfo.tm_sec); //方法4 struct timeval tv_now; gettimeofday(&tv_now, NULL); localtime_r(&tv_now.tv_sec, &timeinfo); printf(\”Date&Time:%04d-%02d-%02d,%02d:%02d:%02d\”,1900+(timeinfo.tm_year), (timeinfo.tm_mon)+1,timeinfo.tm_mday, timeinfo.tm_hour, timeinfo.tm_min, timeinfo.tm_sec);//如果需要时区转换,那么uint16_t offset = 28800; //8*60*60 即8小时对应的秒数time_t localtimestamp = now + offset;} struct timeval结构体
struct timeval结构体在time.h中的定义为:
struct timespec { time_t tv_sec; /* Seconds */ long tv_nsec; /* Nanoseconds */};
其中,tv_sec为Epoch到创建struct timeval时的秒数,tv_usec为微秒数。
strftime()函数
获取日期不同格式的最快方法是使用strftime()函数
它根据 format 中定义的格式化规则,格式化结构 timeptr 表示的时间,并把它存储在 str 中。
声明
下面是 strftime() 函数的声明。
size_t strftime(char *str, size_t maxsize, const char *format, const struct tm *timeptr) 参数 str – 这是指向目标数组的指针,用来复制产生的 C 字符串。maxsize – 这是被复制到 str 的最大字符数。format – 这是 C 字符串,包含了普通字符和特殊格式说明符的任何组合。这些格式说明符由函数替换为表示 tm 中所指定时间的相对应值。格式说明符是: 说明符替换为实例%a缩写的星期几名称Sun%A完整的星期几名称Sunday%b缩写的月份名称Mar%B完整的月份名称March%c日期和时间表示法Sun Aug 19 02:56:02 2012%d一月中的第几天(01-31)19%H24 小时格式的小时(00-23)14%I12 小时格式的小时(01-12)05%j一年中的第几天(001-366)231%m十进制数表示的月份(01-12)08%M分(00-59)55%pAM 或 PM 名称PM%S秒(00-61)02%U一年中的第几周,以第一个星期日作为第一周的第一天(00-53)33%w十进制数表示的星期几,星期日表示为 0(0-6)4%W一年中的第几周,以第一个星期一作为第一周的第一天(00-53)34%x日期表示法08/19/12%X时间表示法02:50:06%y年份,最后两个数字(00-99)01%Y年份2012%Z时区的名称或缩写CDT%%一个 % 符号%timeptr – 这是指向 tm 结构的指针,该结构包含了一个被分解为以下各部分的日历时间(如上文例程中的struct tm timeinfo): struct tm { int tm_sec; /* 秒,范围从 0 到 59 */ int tm_min; /* 分,范围从 0 到 59 */ int tm_hour; /* 小时,范围从 0 到 23 */ int tm_mday; /* 一月中的第几天,范围从 1 到 31 */ int tm_mon; /* 月份,范围从 0 到 11 */ int tm_year; /* 自 1900 起的年数 */ int tm_wday; /* 一周中的第几天,范围从 0 到 6 */ int tm_yday; /* 一年中的第几天,范围从 0 到 365 */ int tm_isdst; /* 夏令时 */ };
注:
如要使用struct timeval 结构体 ,那么需要包含sys/time.h 文件而非time.h
85210708
《C语言输出日期,c语言中日期格式化》来自互联网同行内容,若有侵权,请联系我们删除!
科技资讯SEO上一篇 : 揭秘,kk家族票背后的神秘来源是什么?
下一篇 : 如何成功申请成为手机斗鱼主播?
-
SEO外包最佳选择国内专业的白帽SEO机构,熟知搜索算法,各行业企业站优化策略!
SEO公司
-
可定制SEO优化套餐基于整站优化与品牌搜索展现,定制个性化营销推广方案!
SEO套餐
-
SEO入门教程多年积累SEO实战案例,从新手到专家,从入门到精通,海量的SEO学习资料!
SEO教程
-
SEO项目资源高质量SEO项目资源,稀缺性外链,优质文案代写,老域名提权,云主机相关配置折扣!
SEO资源
-
SEO快速建站快速搭建符合搜索引擎友好的企业网站,协助备案,域名选择,服务器配置等相关服务!
SEO建站
-
快速搜索引擎优化建议没有任何SEO机构,可以承诺搜索引擎排名的具体位置,如果有,那么请您多注意!专业的SEO机构,一般情况下只能确保目标关键词进入到首页或者前几页,如果您有相关问题,欢迎咨询!