急 !!!如何获取一定毫秒数后的时间 比如现在有个时间格式:2008/08/21 09:50:50.555000现在想求 2222222毫秒 后的时间。。取得的格式还是上面的格式。。不通过 1.除以1000取得秒。。再除以60取得分vc++中是否有函数直接求得高手快点现身吧。。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以用SystemTimeToFileTime转换后来修改,然后用FileTimeToSystemTime转换回来。可以用__int64代替FILETIME进行计算,注意FILETIME表示的单位是100纳秒,转换为毫秒是10000倍。另外你小数点后面6位数是什么意思?毫秒的话只有3位数字吧。 首先将2008/08/21 09:50:50.555000 转换成一个SYSTEM——TIME结构,然后换算成相对于1900年1月1日0点的毫秒数,然后加上22222222,然后再换算成SYSTEM——TIME结构,再格式化成字符串 用以下代码将字符串转换为COleDateTime 对象,之后用COleDateTime::GetYear()... 等,获取各部分时间值,按楼主逻辑处理即可。COleDateTime CGetData::GetOleDateTimeFromString(CString strDateTime)//转换时间类型{ CString strTmpDateTime = strDateTime; if (!strTmpDateTime.IsEmpty()) { COleVariant varDateTime(strDateTime); varDateTime.ChangeType(VT_DATE); COleDateTime oleDateTime = varDateTime; return oleDateTime; } else { VARIANT varReturn; varReturn.vt = VT_NULL; return varReturn; }} 请问下SystemTimeToFileTime()里面的参数该怎么定义就是说 我的时间保存在 char tm[30] 中;毫秒保存在 int m;我该怎么操作这两个函数 不好意思啊,COleDateTime 这个好像只能到秒级。支持 1楼 2楼。google 一把应该有结果。 //------------------------------------union { FILETIME ft; ULONGLONG ut;} t;SYSTEMTIME st;GetLocalTime(&st);SystemTimeToFileTime(&st, &t.ft);t.ut += UInt32x32To64(毫秒, 10000);FileTimeToSystemTime(&t.ft, &st);//------------------------------------ 我该如何把保存在 char tm[30] 中的时间格式转化掉?? union { FILETIME ft; ULONGLONG ut; } t; SYSTEMTIME st; GetLocalTime(&st); SystemTimeToFileTime(&st, &t.ft); t.ut += UInt32x32To64(毫秒, 10000); FileTimeToSystemTime(&t.ft, &st); CString myTime = _T("");myTime.Format("%d-%02d-%02d %02d:%02d:%02d", st.wYear, st.wMonth, st.wDay, st.wHour, st.wMinute, st.wSecond); 本帖最后由 Mackz 于 2008-08-21 11:12:12 编辑 在vc2003下。。_stscanf_s编译不了CTimeSpan这个方法会显示参数,但是也编译不了。。为什么??? VS 2003下去掉_s后缀就可以了。 捕获Caret消息 怎样在自绘类型的ListCtrl中使用 EX_INFOTIP (自绘类型的ListCtrl 中EX_STYLE无效果) 请教大家:怎么弹出windows的“打开方式”的窗口啊??? 关于对得到WIN2K中密码框中密码的一个设想,不知成不成立,高人请指点 看过梁肇新新书中关于游戏修改器的朋友进来,帮个忙 没有分了,谁能帮忙? 要在窗口中进行简单的画线和给某些坐标点着色 苦求霍夫变换(hough)检测多条直线的代码? 用CArchive产生乱码 在对话框中的CToolTipCtrl为什么显示不出来 report风格的listctrl插入edit以后 item之间的虚线被挡了 怎么办 如何弹出一个显示倒计时的对话框
另外你小数点后面6位数是什么意思?毫秒的话只有3位数字吧。
COleDateTime CGetData::GetOleDateTimeFromString(CString strDateTime)//转换时间类型
{
CString strTmpDateTime = strDateTime;
if (!strTmpDateTime.IsEmpty())
{
COleVariant varDateTime(strDateTime);
varDateTime.ChangeType(VT_DATE);
COleDateTime oleDateTime = varDateTime;
return oleDateTime;
}
else
{
VARIANT varReturn;
varReturn.vt = VT_NULL;
return varReturn;
}
}
就是说 我的时间保存在 char tm[30] 中;毫秒保存在 int m;
我该怎么操作这两个函数
支持 1楼 2楼。
google 一把应该有结果。
union {
FILETIME ft;
ULONGLONG ut;
} t;SYSTEMTIME st;
GetLocalTime(&st);SystemTimeToFileTime(&st, &t.ft);
t.ut += UInt32x32To64(毫秒, 10000);
FileTimeToSystemTime(&t.ft, &st);
//------------------------------------
FILETIME ft;
ULONGLONG ut;
} t; SYSTEMTIME st;
GetLocalTime(&st); SystemTimeToFileTime(&st, &t.ft);
t.ut += UInt32x32To64(毫秒, 10000);
FileTimeToSystemTime(&t.ft, &st); CString myTime = _T("");
myTime.Format("%d-%02d-%02d %02d:%02d:%02d", st.wYear, st.wMonth, st.wDay, st.wHour, st.wMinute, st.wSecond);
CTimeSpan这个方法会显示参数,但是也编译不了。。
为什么???