
计算前和计算后分别获取当前时间,然后用时间相减
inline __int64 TimeDiff(SYSTEMTIME left,SYSTEMTIME right)
{
CTime tmLeft(leftwYear,leftwMonth,leftwDay,0,0,0);
CTime tmRight(leftwYear,leftwMonth,leftwDay,0,0,0);
CTimeSpan sp;
sp = tmLeft - tmRight;//计算日期比较麻烦,就交给MFC去做吧
long lLMinllis = (leftwHour3600 + leftwMinute60 + leftwSecond)1000 + leftwMilliseconds;
long lRMinllis = (rightwHour3600 + rightwMinute60 + rightwSecond)1000 + rightwMilliseconds;
return (__int64)spGetDays()86400000 + (lLMinllis - lRMinllis);
}
void fun()
{
CFileFind finder;
CTime tempTime;
CString str;
BOOL bWorking = finderFindFile("c:\\1txt");
if (bWorking)
{
bWorking = finderFindNextFile();
cout << (LPCTSTR) finderGetFileName() << endl;
// 创建时间
if (finderGetCreationTime(tempTime))
{
str = tempTimeFormat(_T("%c"));
cout << (LPCTSTR)str << endl;
}
// 最后访问时间
if (finderGetLastAccessTime(tempTime))
{
str = tempTimeFormat(_T("%c"));
cout << (LPCTSTR)str << endl;
}
// 最后修改时间
if (finderGetLastWriteTime(tempTime))
{
str = tempTimeFormat(_T("%c"));
cout << (LPCTSTR)str << endl;
}
}
}
CTime timeTime;
CString szDate;
CDateTimeCtrl pCtrl = (CDateTimeCtrl) GetDlgItem(IDC_DateTime);
ASSERT(pCtrl != NULL);
DWORD dwResult = pCtrl->GetTime(timeTime);
if (dwResult == GDT_VALID)
{
szDate = timeTimeFormat(TEXT("%Y-%m-%d")); // 年月日
CTime ct;
m_time1GetTime(ct);
CString smp = ctFormat(_T("%H:%M:%S")); // 时分秒
}
#include <timeh> 要添加这个头文件。
time_t rawtime;
struct tm target_time;
time ( &rawtime ); //获取当前时间,存rawtime里
target_time = localtime ( &rawtime ); //获取当地时间
利用struct tm,你可以按需取出年月日时分秒星期几等数值。
---------------------
你的问题:
time_t now;
long int dt=3600; // 时间长度,秒数
now = time (NULL); //获取当前时间
printf("%s ",ctime(&now)); //直接打印时间
now=now+dt;
printf("%s ",ctime(&now)); // 直接打印加dt后的时间
(当然,你也可以用 ctime(&now) 返回的字符串 通过 MFC 的方法显示)
1、C语言中读取系统时间的函数为time(),其函数原型为:\x0d\#include \x0d\time_t time( time_t ) ;\x0d\time_t就是long,函数返回从1970年1月1日(MFC是1899年12月31日)0时0分0秒,到现在的的秒数。\x0d\2、C语言还提供了将秒数转换成相应的时间格式的函数:\x0d\ char ctime(const time_t timer); //将日历时间转换成本地时间,返回转换后的字符串指针 可定义字符串或是字符指针来接收返回值\x0d\ struct tm gmtime(const time_t timer); //将日历时间转化为世界标准时间(即格林尼治时间),返回结构体指针 可定义struct tm 变量来接收结果\x0d\ struct tm localtime(const time_t timer); //将日历时间转化为本地时间,返回结构体指针 可定义struct tm 变量来接收结果\x0d\3、例程:\x0d\#include \x0d\void main()\x0d\{\x0d\ time_t t;\x0d\ struct tm pt ;\x0d\ char pc ;\x0d\ time(&t);\x0d\ pc=ctime(&t) ; printf("ctime:%s", pc );\x0d\ pt=localtime(&t) ; printf("year=%d", pt->tm_year+1900 );\x0d\}\x0d\\x0d\时间结构体struct tm 说明:\x0d\\x0d\struct tm { \x0d\ int tm_sec; / 秒 _ 取值区间为[0,59] / \x0d\ int tm_min; / 分 - 取值区间为[0,59] / \x0d\ int tm_hour; / 时 - 取值区间为[0,23] / \x0d\ int tm_mday; / 一个月中的日期 - 取值区间为[1,31] / \x0d\ int tm_mon; / 月份(从一月开始,0代表一月) - 取值区间为[0,11] / \x0d\ int tm_year; / 年份,其值等于实际年份减去1900 / \x0d\ int tm_wday; / 星期 _ 取值区间为[0,6],其中0代表星期天,1代表星期一,以此类推 / \x0d\ int tm_yday; / 从每年的1月1日开始的天数 _ 取值区间为[0,365],其中0代表1月1日,1代表1月2日,以此类推 / \x0d\ int tm_isdst; / 夏令时标识符,实行夏令时的时候,tm_isdst为正。不实行夏令时的进候,tm_isdst为0;不了解情况时,tm_isdst()为负。/ \x0d\};
以上就是关于mfc计算运算时间全部的内容,包括:mfc计算运算时间、在MFC中如何读取文件的保存时间,急、mfc中的日历控件如何获取选择的日期是星期几啊,有没有相应的接口日下图的日历控件。。。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)