推荐学习: 《c++教程》

首先介绍2个数据类型。

一个是time_t与时间函数相关的变量,定义的变量记录着自 1970 年 1 月 1 日以来经过的秒数,也称作时间戳。

另一个是结构体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   int tm_year;        // 自 1900 起的年数   int tm_wday;        // 一周中的第几天,范围从 0 到 6   int tm_yday;        // 一年中的第几天,范围从 0 到 365   int tm_isdst;       // 夏令时};

然后是3个与时间处理相关的函数,

time_t time(time_t *time);

一般使用time(NULL)即可,可得到当前时区的时间戳。

struct tm *localtime(const time_t *timer);

将time_t类型转换为本地时间的 tm 结构的指针。

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

%H

24 小时格式的小时(00-23)

14

%I

12 小时格式的小时(01-12)

05

%j

一年中的第几天(001-366)

231

%m

十进制数表示的月份(01-12)

08

%M

分(00-59)

55

%p

AM 或 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

%%

一个 % 符号

%

4行代码实现在屏幕输出当前时间:

char str[50];time_t now = time(NULL);strftime(str, 50, "%x %X", localtime(&now));cout << str << endl;

更多相关文章

  1. c++如何获取系统时间?
  2. golang如何获取当前时间的前几天
  3. golang如何设置时间
  4. golang获取当前时间是第几周
  5. 快看!go-carbon 1.2.2 版本发布了!新增了时间设置和时间差比较功能
  6. go-carbon1.2.4发布了!新增系列时间比较方法
  7. go语言中时间戳格式化的方法
  8. 什么?你项目还在用Date表示时间?!
  9. HTTP/2:更快的页面加载时间[每日前端夜话0xAC]

随机推荐

  1. Android统计图集合源码
  2. 另类方法屏蔽Android4.03的HOME按键
  3. android柱状图源码
  4. ANDROID应用安全防御
  5. AndroidUI线程机制
  6. Android O 版本(Android 8.0) 存储空间不足
  7. 明天 你看好Erlang还是看好android
  8. TableLayout设置行与行之间的分割线
  9. Android 6.0及运行时权限处理
  10. [置顶] Android 各类功能效果源代码集合