C/C++常用时间API

2015/12/06 - C/C++

demo

#include <time.h>

// time_t是long类型,精确到秒。获取自1970年1月1日以来持续时间的秒数
const time_t t = time(NULL);

/*本地时间:日期,时间 年月日,星期,时分秒*/
struct tm* current_time = localtime(&t);
printf("current year is %d;current month is %d;current date of month is %d\r\n",
        1900 + current_time->tm_year,
        1 + current_time->tm_mon/*此month的范围为0-11*/,
        current_time->tm_mday);

// 将时间转换为自1970年1月1日以来持续时间的秒数,发生错误时返回-1
time_t mktime(struct tm * timeptr);

//strftime
#include"time.h"
#include"stdio.h"
int main(void){
    struct tm* ptr;
    time_t lt;
    char str[80];
    lt=time(NULL);
    ptr=localtime(<);
    strftime(str,sizeof(str),"Itisnow%I%p",ptr);
    printf("%s\n",str);
    return0;
}


#include<stdio.h>
#include<time.h>
int main(void)
{
    time_ttimep;
    structtm*p;
    time(&timep);
    printf("time():%d\n",timep);
    p=localtime(&timep);
    timep=mktime(p);
    printf("time()->localtime()->mktime():%d\n",timep);
    return0;
}

strftime参数

%a星期几的简写
%A星期几的全称
%b月份的简写
%B月份的全称
%c标准的日期的时间串
%C年份的前两位数字
%d十进制表示的每月的第几天
%D//
%e在两字符域中,十进制表示的每月的第几天
%F--
%g年份的后两位数字,使用基于周的年
%G年份,使用基于周的年
%h简写的月份名
%H 24小时制的小时
%I 12小时制的小时
%j十进制表示的每年的第几天
%m十进制表示的月份
%M十时制表示的分钟数
%n新行符
%p本地的AMPM的等价显示
%r 12小时的时间
%R显示小时和分钟:hh:mm
%S十进制的秒数
%t水平制表符
%T显示时分秒:hh:mm:ss
%u每周的第几天,星期一为第一天 (值从17,星期一为1
%U第年的第几周,把星期日作为第一天(值从053
%V每年的第几周,使用基于周的年
%w十进制表示的星期几(值从06,星期天为0
%W每年的第几周,把星期一做为第一天(值从053
%x标准的日期串
%X标准的时间串
%y不带世纪的十进制年份(值从099
%Y带世纪部分的十制年份
%z%Z时区名称,如果不能得到时区名称则返回空字符。
%% 百分号

如果文章对您有帮助,欢迎扫描下方二维码赞助(一分也是爱噢),谢谢

Search

    一分也是爱噢 一分也是爱

    目录