为什么我的修改文件的时间,比实际时间多了8个小时???

qiuchb 2003-10-16 05:48:23
代码:
HANDLE hfile = CreateFile( "d:\\sqlnet.log",GENERIC_WRITE,0,0,OPEN_EXISTING,0,0);
if( hfile == INVALID_HANDLE_VALUE ) return;
FILETIME ftimemodify;
SYSTEMTIME stime;
TDateTime dt = Now();
DateTimeToSystemTime(dt,stime); //将TDateTime格式的日期转换为SYSTEMTIME格式
SystemTimeToFileTime(&stime,&ftimemodify);//将SYSTEMTIME格式时间转换为FILETIME格式
SetFileTime(hfile,&ftimemodify,&ftimemodify,&ftimemodify);
CloseHandle(hfile);
如果系统时间为20031015 17:37,可结果显示却为20031016 1:37。
为什么???怎样解决?谢谢
...全文
299 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jishiping 2003-10-16
  • 打赏
  • 举报
回复
需要在SetFileTime之前调用API函数FileTimeToLocalFileTime,将格林威治时间转换为本地时间。
qiuchb 2003-10-16
  • 打赏
  • 举报
回复
我跟踪得到的stime为系统时间
huangjuliang 2003-10-16
  • 打赏
  • 举报
回复
时差不对?
CityHost 2003-10-16
  • 打赏
  • 举报
回复
我记得默认时间好象是GMT标准时,和北京时间差8个小时

13,822

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧