C++怎么取当前时间和设定时间做比较?
2个回答
展开全部
bool CUpdateStartUpDlg::CampareLastWriteTime(CString FilePath,CString VersionTime)
{
CString FileName=FilePath;
CFileFind finder;
bool bExist=finder.FindFile(FilePath);
if(bExist==false)
{
return true;//当查找不到文件时 直接下载
}
WIN32_FIND_DATA localFile;
HANDLE hFile=FindFirstFile(FileName,&localFile);
//去除本地文件时间的秒和微秒
SYSTEMTIME SystemTime;
::FileTimeToSystemTime(&localFile.ftLastWriteTime,&SystemTime);
SystemTime.wSecond=0;
SystemTime.wMilliseconds=0;
SystemTime.wHour+=8;
FILETIME fileTimeLocal;
::SystemTimeToFileTime(&SystemTime,&fileTimeLocal);
//配置文件读取的时间
FILETIME fileTimeVersion;
COleDateTime dt;
SYSTEMTIME st={0};
dt.ParseDateTime(VersionTime);
dt.GetAsSystemTime(st);
if(st.wYear==0)
{
return false;
}
::SystemTimeToFileTime(&st,&fileTimeVersion);
//时间比较:-1为第一个时间早,0相等,1为第一个时间晚于第二个时间
LONG lRet = CompareFileTime(&fileTimeLocal,&fileTimeVersion);
if(lRet==-1)
{
return true;//当本地文件最后修改时间比配置文件所取时间小 则返回true 相等则返回false
}
return false;
}
这是我以前写的一段代码 希望能帮助到你
CompareFileTime(&fileTimeLocal,&fileTimeVersion);
{
CString FileName=FilePath;
CFileFind finder;
bool bExist=finder.FindFile(FilePath);
if(bExist==false)
{
return true;//当查找不到文件时 直接下载
}
WIN32_FIND_DATA localFile;
HANDLE hFile=FindFirstFile(FileName,&localFile);
//去除本地文件时间的秒和微秒
SYSTEMTIME SystemTime;
::FileTimeToSystemTime(&localFile.ftLastWriteTime,&SystemTime);
SystemTime.wSecond=0;
SystemTime.wMilliseconds=0;
SystemTime.wHour+=8;
FILETIME fileTimeLocal;
::SystemTimeToFileTime(&SystemTime,&fileTimeLocal);
//配置文件读取的时间
FILETIME fileTimeVersion;
COleDateTime dt;
SYSTEMTIME st={0};
dt.ParseDateTime(VersionTime);
dt.GetAsSystemTime(st);
if(st.wYear==0)
{
return false;
}
::SystemTimeToFileTime(&st,&fileTimeVersion);
//时间比较:-1为第一个时间早,0相等,1为第一个时间晚于第二个时间
LONG lRet = CompareFileTime(&fileTimeLocal,&fileTimeVersion);
if(lRet==-1)
{
return true;//当本地文件最后修改时间比配置文件所取时间小 则返回true 相等则返回false
}
return false;
}
这是我以前写的一段代码 希望能帮助到你
CompareFileTime(&fileTimeLocal,&fileTimeVersion);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
time_t timep;
struct tm *p;
time(&timep);
p = localtime(&timep); //取得当地时间
printf ("%d%d%d ", (1900+p->tm_year), (l+p->tm_mon), p->tm_mday);
printf("%d%d:%d:%d\n", p->tm_wday, p->tm_hour, p->tm_min, p->tm_sec);
struct tm *p;
time(&timep);
p = localtime(&timep); //取得当地时间
printf ("%d%d%d ", (1900+p->tm_year), (l+p->tm_mon), p->tm_mday);
printf("%d%d:%d:%d\n", p->tm_wday, p->tm_hour, p->tm_min, p->tm_sec);
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询