c++学习:获取当前时间

2023-12-19 05:39:59

步骤

  1. 头文件

    #include <unistd.h>
    #include <time.h>
    #include <cstdio>
  2. 首先获取当前时间(秒数)

    //先获取当前时间
    time_t tloc;
    time_t ret = time(&tloc);
  3. 然后将他转化为当前时间(时分秒年月日)

    struct tm *curDateTime = localtime(&ret);
  4. 输出

    printf("date:%d:%d:%d\n",(1900+curDateTime->tm_year),
                         (1+curDateTime->tm_mon),
                         curDateTime->tm_mday);
    
    printf("time:%d:%d:%d\n",curDateTime->tm_hour,
                         curDateTime->tm_min,
                         curDateTime->tm_sec);
    
    //拼接数据
    char text[1024] = {0};
    sprintf(
                         text,"%d/%d/%d %d:%d:%d",
                         (1900+curDateTime->tm_year),
                         (1+curDateTime->tm_mon),
                         curDateTime->tm_mday,
                         curDateTime->tm_hour,
                         curDateTime->tm_min,
                         curDateTime->tm_sec
    );
    printf("&s\n",text);
    
    sleep(1);

?函数解析

time_t time(time_t *timer);

它返回自纪元(通常是1970年1月1日)起经过的秒数

struct tm *localtime(const time_t *timer);

将时间戳(由time函数获取)转换为本地时间的表示

tm结构体

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,0 代表一月)
  int tm_year;  // 年份 - 1900
  int tm_wday;  // 一周中的第几天 (0-6,0 代表周日)
  int tm_yday;  // 一年中的第几天 (0-365)
  int tm_isdst; // 夏令时标识符
};

文章来源:https://blog.csdn.net/weixin_59669309/article/details/135074627
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。