COleDateTime 和 CTime

 

CTime

1) 取当前时间

CTime time;

time = CTime::GetCurrentTime();

2) 时间元素。

int year = time.GetYear() ;

int month = time.GetMonth();

int day = time.GetDay();

int hour = time.GetHour();

int minute = time.GetMinute();

int second = time.GetSecond();

int DayOfWeek = time.GetDayOfWeek() ;

3) 时间间隔。

CTimeSpan timespan(0,0,1,0); // days,hours,minutes,seconds

timespan = CTime::GetCurrentTime() - time;

4) 时间转换为字符串。

CString sDate,sTime,sElapsed Time ;

sDate = time.Format("%m/%d/%y"); //ex: 12/10/98

sTime = time.Format("%H:%M:%S"); //ex: 9:12:02

sElapsed Time = timespan.Format("%D:%H:%M:%S");

// %D is total elapsed days

要想知道更多的时间格式,参M F C文档中的strftime

使用COleDateTime

1) 得一年中的某一天。

COleDate Time datetime;

datetime = COleDateTime::GetCurrentTime();

int DayOfYear = datetime.GetDayOfYear();

2) 从文本串中时间

COleDate Time datetime;

datetime.ParseDateTime("12:12:23 27 January 93");

明。

CTimeCOleDateTime具有几乎同的功能。然而COleDateTime户获得一年中的某一天(Julian日期的一好方法),以及分析一个时间文本串。

 CTime相比, COleDateTime点在于它支持DWORD量。COleDateTime使用的位数是双浮点的两倍,既然CTime只是简单算从197011日之后经过的秒数,

所以到了2 0 3 7年它将达到4 2 9 4 9 6 7 2 9 5,从而不能再使用。相反, COleDateTime是一个浮点数,它表示是从1 9 0 01 23 0号之后的天数(是天的小数部分),几千年之内不会溢出。 

CTime是无符号long型,它的范0-4 2 9 4 9 6 7 2 9 5;

COleDateTimedouble型,它占64位。

posted @ 2008-10-28 11:24  西风残照  阅读(1834)  评论(0编辑  收藏  举报