CTime COleDateTime的常用操作和比较

原创 2007年09月12日 15:25:00
 
CTime COleDateTime的常用操作和比较
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");
说明。
■ CTime和COleDateTime具有几乎同样的功能。然而, COleDateTime允许用户获得一年
中的某一天(创建Julian日期的一种好方法),以及分析一个时间文本串。
■ 与CTime相比, COleDateTime的优点在于它支持DWORD变量。COleDateTime使用的
位数是双浮点的两倍,既然CTime只是简单地计算从1970年1月1日之后经过的秒数,
所以到了2 0 3 7年它将达到4 2 9 4 9 6 7 2 9 5,从而不能再使用。相反,
COleDateTime是一个
浮点数,它表示是从1 9 0 0年1 2月3 0号之后的天数(小时是天的小数部分),几千年之内不会溢出。
//----------------------------------------------------------------------------------------------------------------------------//

strCString="2003-10-27 6:24:37"; //CString--->COleDateTime
COleVariant vtime(strCString);
vtime.ChangeType(VT_DATE);
COleDateTime time4=vtime;

COleDateTime time1(1977,4,16,2,2,2); //COleDataTime--->CTime
SYSTEMTIME systime;
VariantTimeToSystemTime(time1, &systime);
CTime tm(systime);

time_t time2=tm.GetTime(); //CTime--->time_t
COleDateTime time3(time2); //time_t--->COleDateTime

CString str = tDate.Format(_T("%Y-%m-%d"));

相关文章推荐

如何在VC中加减日期及 CTime COleDateTime的常用操作和比较

如何在VC中加减日期及 CTime COleDateTime的常用操作和比较 [转贴 2008-10-31 15:51:28]    字号:大中小如何在VC中加减日期 使用CTime类,如:    C...

CTime与COleDateTime时间操作类的使用

1、CTime类的常见使用 获取当前时间: CTime time; time = CTime::GetCurrentTime(); 获取时间里面的各个元素: int year = tim...

CString时间字符串,COleDateTime,CTime类之间的转换

CString时间字符串,COleDateTime,CTime类之间的转换 标签: CStringCOleDateTimeCTime转换 2015-06-13 00:00 ...

CTime COleDateTime CString 相互转化

CString--->COleDateTime: 方法1:COleDateTime::ParseDateTime() CString strDate = _T("1987-06-21");...
  • Link_
  • Link_
  • 2012年01月11日 17:31
  • 1097

有关CTime和ColeDateTime

1、通用处理:time_t(win平台64位系列对应__time64_t,Linux暂无研究,以后补上)time_t=long int,范围从1970-1-1 0:0:0 到2038-1-18 19:...

[转]CString、char*、string、int、_bstr_t、CTime、COleDateTime相互转换,判断一个字符串是一个浮点数

 转http://www.cnblogs.com/xtry/articles/44433.aspx  #include using namespace std;  #include{      CSt...
  • lyayfy
  • lyayfy
  • 2011年01月20日 18:34
  • 702

CString , COleDateTime, CTime相互转换和对时间的一些处理

变量定义:     CString strDate;     COleDateTime ole_time;     CTime c_time; ============================...

CTime和CTimeSpan与COleDateTime和COleDateTimeSpan 类

MFC 操作时间类:CTime和CTimeSpan与COleDateTime和COleDateTimeSpan

CTime,COleDateTime,SYSTEMTIME

1、 使用CTime (MFC) 1) 获取当前时间。       CTime time;       time = CTime::GetCurrentTime(); 2) 获取时间元素。 ...
  • pjl1119
  • pjl1119
  • 2012年06月19日 17:11
  • 4419

CString、CTime和COleDateTime转换

COleDateTime、CTime--->CString 这个方法很简单,用Format格式化一个字符串就可以了,详见MSDN CString--->COleDateTime: 方...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:CTime COleDateTime的常用操作和比较
举报原因:
原因补充:

(最多只允许输入30个字)