您的位置:首页 > 运维架构 > Linux

在C++中获取当前时间并转换为可读时间格式(Win32和Linux通用)

2014-08-11 13:51 375 查看
所谓的跨平台是因为使用了不同的API, 用宏定义区别Windows和Unix.

方法如下:

[cpp] view
plaincopy

#ifdef WIN32

#define LOCALTIME_R(t) localtime((t))

#else

#define LOCALTIME_R(t) localtime_r((t), (struct tm *)&tmres)

#endif

如此定义之后, 只需要如下代码即可:

[cpp] view
plaincopy

#include <stdio.h>

#include <stdio.h>

#include <time.h>

main()

{

struct tm *tmNow;

time_t long_time;

time(&long_time ); /* Get time as long integer. */

tmNow = LOCALTIME_R( &long_time ); /* Convert to local time. */

printf("%d年%d月%d日 %d时%d分%d秒",tmNow->tm_year, tmNow->tm_mon + 1,

tmNow->tm_mday, tmNow->tm_hour, tmNow->tm_min, tmNow->tm_sec);

return;

}

如此即可在windows或Linux下跨平台使用该段代码.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: