CTime::GetCurrentTime()的问题

jinshi0823 2008-10-13 11:43:28
wince开发遇到的问题,用CTime::GetCurrentTime()获取时间得到的不对,在2款PDA上都试了下,一款是WINCE5.0,一款是HP的PDA系统是Windows Mobile的,在这两款PDA上得出来的时间大概都是西8区的时间,然后同样的程序,用仿真器运行,得出来的就是正常的东8区时间。PDA上系统的时区设置的是东8区(或北京时间),时间显示也争取,可是程序获取出来的就不对,问为什么?
...全文
366 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
iwillbeback008 2010-02-03
  • 打赏
  • 举报
回复
WinCE5.0下,GetLocalTime()和GetCurrentTime()函数都有可能出现获取时间错误的情况,实践已经证明!

还是这篇文章的的思路好:

自动站数据采集实时质量控制的思路及实现
http://bbs.soft666.com/htm_data/9/0908/51630.html
iwillbeback008 2010-02-03
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 jinshi0823 的回复:]
嗯~,解决了,谢谢1楼,我是这样改的:
SYSTEMTIME systm;
GetLocalTime(*systm);
CTime ctm(systm,-1);//因为原程序大部分都用的CTime所以这样修改能最少的改动原程序
回2楼,我一开始用的就是你说的这种方法,不过还是谢谢你。
[/Quote]

请问这个CTime ctm(systm,-1);是有啥作用?
转换后的变量ctm是怎样的?
jinshi0823 2008-10-14
  • 打赏
  • 举报
回复
嗯~,解决了,谢谢1楼,我是这样改的:
SYSTEMTIME systm;
GetLocalTime(*systm);
CTime ctm(systm,-1);//因为原程序大部分都用的CTime所以这样修改能最少的改动原程序
回2楼,我一开始用的就是你说的这种方法,不过还是谢谢你。
载舟之水 2008-10-13
  • 打赏
  • 举报
回复
GetLocalTime 这个才是根据时区换算好的数值。
guetcw 2008-10-13
  • 打赏
  • 举报
回复
不知道你怎么用的,CTime::GetCurrentTime()函数返回的是一个CTime类型的对象,你可用它的方法获取本地时间
如:
CTime t = CTime::GetCurrentTime();
t.GetDayOfWeek()
t.GetHour()
t.GetMinute()
t.GetMonth()
t.GetSecond()
t.GetYear()
这几个成员函数返回的值都是based on local time的。

19,502

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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