怎样获取当前的系统时间保存在字符串中,精确到毫秒 球一段代码,把当前系统的时间保存在字符串中,精确到毫秒 形式类似于20110811151922005 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在定时器中用GetLocalTime就行了,或者用CTime T =CTime::GetCurrentTime(); 也可以得到当前时间,转成字符串格式你可以用GetDay() 得到 CTime持有的"天" ,GetMonth() 得到月,GetYear() 得到年 到毫秒基本上不可能的,Window并不是一个实时操作系统。 GetLocalTime_SYSTEMTIME::wMilliseconds SYSTEMTIME now;GetSystemTime(&now); 正如楼上各位说的,无法精确到毫秒,GetLocalTime()之类的函数得到的毫秒都是以时间片为误差的,真正能精确到毫秒的函数如timeGetTime()得到的又不是时间日期,只是一个相对值。因此,我是这样想的,这个毫秒即使你得到了也没有和别的机器参考的价值,不妨就用着两个函数进行一个互补。首先,用GetLocalTime()得到日期,然后,用timeGetTime()得到从系统启动所经过的毫秒数,根据后者自己计算现在的日期,时间,这样在整个运行过程中的毫秒数之间是同一参考标准,可认为是精确的。另外必须使用timePeriodBegin(1)和timePeriodEnd(1)来设置才可将timeGetTime()精确到1毫秒,当然也可使用高精度的Queryperformancecounter()来获得更精确的时间,但对这个问题没什么实际意义 sqlite代码中的片段:#if SQLITE_OS_WINCE SYSTEMTIME time; GetSystemTime(&time); /* if SystemTimeToFileTime() fails, it returns zero. */ if (!SystemTimeToFileTime(&time,&ft)){ return 1; }#else GetSystemTimeAsFileTime( &ft );#endif UNUSED_PARAMETER(pVfs); timeW = (((sqlite3_int64)ft.dwHighDateTime)*max32BitValue) + (sqlite3_int64)ft.dwLowDateTime; timeF = timeW % ntuPerDay; /* fractional days (100-nanoseconds) */ timeW = timeW / ntuPerDay; /* whole days */ timeW = timeW + 2305813; /* add whole days (from 2305813.5) */ timeF = timeF + ntuPerHalfDay; /* add half a day (from 2305813.5) */ timeW = timeW + (timeF/ntuPerDay); /* add whole day if half day made one */ timeF = timeF % ntuPerDay; /* compute new fractional days */ *prNow = (double)timeW + ((double)timeF / (double)ntuPerDay);不过这个有意义吗? 树控件选取的问题,急求帮助! WinAPI 有 配置内存的 函数吗 ? VC中如何处理数据库中的NULL值? 在c/s下如何实现两端互传结构类型的数据 vc6.0中如何集成WinCVS 請問各位大俠 基于HTTP协议的服务器端软件开发与设计 我要共享DLL的数据区,应该在做DLL做点什么? 还是有关字体的问题。很急阿 “CStdioFile::Open”: 不能将参数 1 从“char *”转换为“LPCTSTR 请问用MFC或WTL如何实现一个略缩图控件? 创建DC问题
_SYSTEMTIME::wMilliseconds
GetSystemTime(&now);
首先,用GetLocalTime()得到日期,然后,用timeGetTime()得到从系统启动所经过的毫秒数,根据后者自己计算现在的日期,时间,这样在整个运行过程中的毫秒数之间是同一参考标准,可认为是精确的。
另外必须使用timePeriodBegin(1)和timePeriodEnd(1)来设置才可将timeGetTime()精确到1毫秒,当然也可使用高精度的Queryperformancecounter()来获得更精确的时间,但对这个问题没什么实际意义
#if SQLITE_OS_WINCE
SYSTEMTIME time;
GetSystemTime(&time);
/* if SystemTimeToFileTime() fails, it returns zero. */
if (!SystemTimeToFileTime(&time,&ft)){
return 1;
}
#else
GetSystemTimeAsFileTime( &ft );
#endif
UNUSED_PARAMETER(pVfs);
timeW = (((sqlite3_int64)ft.dwHighDateTime)*max32BitValue) + (sqlite3_int64)ft.dwLowDateTime;
timeF = timeW % ntuPerDay; /* fractional days (100-nanoseconds) */
timeW = timeW / ntuPerDay; /* whole days */
timeW = timeW + 2305813; /* add whole days (from 2305813.5) */
timeF = timeF + ntuPerHalfDay; /* add half a day (from 2305813.5) */
timeW = timeW + (timeF/ntuPerDay); /* add whole day if half day made one */
timeF = timeF % ntuPerDay; /* compute new fractional days */
*prNow = (double)timeW + ((double)timeF / (double)ntuPerDay);
不过这个有意义吗?