MFC:
CTime time = CTime::GetCurrentTime();
CString m_strTime = time.Format(_T("%Y-%m-%d,%H:%M:%S"));
WINDOWS api:
参考地址:http://blog.youkuaiyun.com/bokee/article/details/5330791
用SYSTEMTIME结构获得时间
SYSTEMTIME结构定义如下,这个时间和我们平时用的一致,不需要换算了
typedef struct _SYSTEMTIME{
WORD wYear; /// 年
WORD wMonth; /// 月 。1月份则值为1,2月份则值为2,…..
WORD wDayOfWeek; 一星期中的第几天。星期日则值为0,星期一则值为1,….
WORD wDay; /// 日
WORD wHour; /// 时
WORD wMinute; /// 分
WORD wSecond; /// 秒
WORD wMilliseconds; /// 毫秒
} SYSTEMTIME;
于是通过下面的代码可以得到时间:
#include <Shlwapi.h>
#pragma comment(lib,"shlwapi")
int main()
{
SYSTEMTIME systime;
GetSystemTime(&systime);
return 0;
}
C++:
参考地址:http://www.cnblogs.com/xd502djj/archive/2010/09/23/1833361.html
用tm结构能获得时间,其定义如下:
#ifndef _TM_DEFINED
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代表一月) - 取值区间为[0,11] */
int tm_year; /* 年份,其值等于实际年份减去1900 */
int tm_wday; /* 星期 – 取值区间为[0,6],其中0代表星期天,1代表星期一,以此推 */int tm_yday; /* 从每年的1月1日开始的天数 – 取值区间为[0,365],其中0代表1月1日,1代表1月2日,以此类推 */
int tm_isdst; /* 夏令时标识符,实行夏令时的时候,tm_isdst为正。不实行夏令时的进候,tm_isdst为0;不了解情况时,tm_isdst()为负。*/
};
#define _TM_DEFINED
#endif
于是通过下面的代码可以得到时间
#include "time.h"
#include "stdio.h"
int main(void)
{
struct tm *local;
time_t t;
t=time(NUL);
local=localtime(&t);
printf("Local hour is: %d\n",local->tm_hour);
return 0;
}