当前位置: 首页 > 编程技术 > 正文

使用CTime得到系统时间

在编写Windows程序的时候,很多时候我们需要获取系统的时间,虽然可以使用GetLocalTime得到系统的时间,但是GetLocalTime得到的系统的时间还是比较有限的,

虽然GetLocalTime得到的时间有限,但是这里还是简单的介绍些如何使用GetLocalTime得到系统的时间吧,

首先GetLocalTime在MSDN中的定义如下:

void WINAPI GetLocalTime(
  __out  LPSYSTEMTIME lpSystemTime
);
可以看到,GetLocalTime真正返回时间的地方是他的参数,参数的方向是OUT,返回的类型是指向SYSTEMTIME的指针;

SYSTEMTIME结构体在MSDN中的定义如下:
typedef struct _SYSTEMTIME {  WORD wYear;  WORD wMonth;  WORD wDayOfWeek;  WORD wDay;  WORD wHour;  WORD wMinute;  WORD wSecond;  WORD wMilliseconds;
} SYSTEMTIME,  *PSYSTEMTIME;

那么我们就可以使用GetLocalTime我们的需要输出我们想要的系统时间:

#include <iostream>
#include <windows.h>
using namespace std;
int main()
{
	SYSTEMTIME * pLocalTime = new SYSTEMTIME;  //申请一个SYSTEMTIME的指针
	GetLocalTime(pLocalTime);                  //得到本地时间,返回值在pLocalTime所指向的结构体中

	cout<<pLocalTime->wYear<<endl;            //输出年
	cout<<pLocalTime->wMonth<<endl;
	cout<<pLocalTime->wDay<<endl;
	cout<<pLocalTime->wHour<<endl;
	cout<<pLocalTime->wMinute<<endl;
	cout<<pLocalTime->wSecond<<endl;
	cout<<pLocalTime->wMilliseconds<<endl;   //输出毫秒

	delete(pLocalTime);

	return 0;
}

虽然GetLocalTime可以得到时间,但是这里我们要介绍的是利用CTime得到时间:

CTime Time = CTime::GetCurrentTime(); //使用CTime的成员函数GetCurrentTime得到时间,返回值为CTime的对象

然后使用CTime的成员函数Format()格式化输出时间,CTime::Format 在MSDN的定义如下:

CString Format(
 LPCTSTR pszFormat
) const;
CString Format( UINT nFormatID
) const;

其中Format()的参数为格式化输出符号,共有下列符号:

%A 星期(全写英文) ,比如:Sunday;
%a 星期(缩写英文),比如:Sun;
%B 月份(全写英文)
%b 月份(缩写英文)
%c 月/日/年 时:分:秒 比如:12/31/1999 23:59:59
%d 日期(1~31)
%H 时(24小时制)
%I 时(12小时制)
%j 一年中的第几天(1~365)
%m 月份(数字 1~12)
%M 分
%p 12小时中的AM/PM,显示当前时间属于AM还是PM
%S 秒
%U 一年中的第几周,星期天作为一周的第一天
%w 星期
%W 一年中的第几周,星期一作为第一天
%x 月/年/日 %c的前半段
%X 时:分:秒, %c的后半段

%y 年份,不带世纪的,比如06

%Y 年份,带时间,比如2006
%z/%Z 时区,
%% %

那么假如我想输出时分秒,那么采用下列的方式可以实现:

CString s_Time = Time.Format("%H:%M:%S");

CTime获取时间和GetLocalTime类似,但是输出的内容更多,但是需要对Format函数的参数比较熟悉才能正确的输出,这一点比GetLocalTime麻烦



本文固定链接: http://kuaile.in/archives/995 | 蒲公英的博客

该日志由 蒲公英 于2012年05月30日发表在 编程技术 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: 使用CTime得到系统时间 | 蒲公英的博客
关键字:

使用CTime得到系统时间:等您坐沙发呢!

发表评论


You must enable javascript to see captcha here!

快捷键:Ctrl+Enter