hur.cn - 华软网

 热门搜索

如何将日期时间转化为秒?

  作者:未知    来源:网络    更新时间:2011/6/27
在DataTimePicker中,取出日期时间。比如 2011-6-27 23:00,我想把它转化为秒,然后参与计算。


请问怎样将其转化为秒?再由秒转化为日期时间?


这里2011-6-27 23:00转化为秒后,参与计算加上3小时秒数,变为2011-6-28 2:00

---华软 网友回答---
何必一定要转秒呢,用CTime类,自己查下它的构造函数,可以直接加的。
---华软网友回复---
CDateTimeCtrl都给你封装好了,GetTime函数有三种重载类型,其中COleDateTime就是浮点表示的秒数,去掉小数部分就行了,SetTime设回去就行了
---华软网友回复---
CTime Time;
控件.GetTime(Time);
CTime time2( Time.GetYear(), Time.GetMonth(), Time.GetDay(), Time.GetHour(), Time.GetMinute(), 10800 );
time2就是你要的值
---华软网友回复---
对,利用ctime,直接调用里面的函数就可以了
---华软网友回复---
确实是需要转换成秒的,因为时间增加后,你不不知道下一天是大月还是小月,闰年还是不是闰年。

可以把你是时间转换成 struct tm结构,然后通过mktime()转换成time_t,

就成秒的时间了,增加上你的描述后,再用localtime()转换成tm结构的时间,

tm结构是

struct tm {
        int tm_sec;     /* seconds after the minute - [0,59] */
        int tm_min;     /* minutes after the hour - [0,59] */
        int tm_hour;    /* hours since midnight - [0,23] */
        int tm_mday;    /* day of the month - [1,31] */
        int tm_mon;     /* months since January - [0,11] */
        int tm_year;    /* years since 1900 */
        int tm_wday;    /* days since Sunday - [0,6] */
        int tm_yday;    /* days since January 1 - [0,365] */
        int tm_isdst;   /* daylight savings time flag */
        };

符合你的要求的
---华软网友回复---
// DataTimePicker,关联一个COleDateTime变量
// 然后用COleDateTime的 "+"就可以得到你需要的时间。       
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。