星期到日期的转化:例如2008年第四个星期二到2008年1月22日的转化过程???在线等待! 各位大侠碰到过这个问题吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 试试SYSTEMTIME 或者 CTime vbscript提供了这个功能,VC没有提供。不行就自己循环计算,反正循环量又不大 提一种思路,供参考。先定义一个SYSTEMTIME, 初始化为2008-1-1。SystemTimeToFileTime转成FILETIME(64位整数)。(再转回来就知道是星期二了)。FILETIME加上第四个星期二与第一个星期二相差的时间。(ULONGLONG)10000000*60*60*24*((4-1)*7+(2-1)-(2-1))最后再转回SYSTEMTIME。就是2008-1-22了。 CTimeSpan(天,小时,分,秒)4个星期吧,可以这么 4*7 =28 天 星期2 就+2 就= 30 CTime time2(2008,1,1,0,0,1); CTimeSpan timeSpan(30,0,0,0); time2= time2 +timeSpan; CString s; s.Format("%d %d %d",time2.GetYear(),time2.GetMonth(),time2.GetDay()); MessageBox(s); CSocket的OnReceive是否阻塞? 送分100分:VC++6中有没有字符串变量,不要跟我讲字符串数组。 用最小二乘法拟合直线的问题 CListCtrl如何插入文字? 何装动态连接BCG库的程序变成静态连接BCG库 如何在菜单栏中添加非菜单类控件?参考Word 2003。 问一下 _MFC_VER>100 Microsoft Windows Platform SDK 哪里下载? 关于字符串和缓冲区转换的问题…… 系统热键疑问 怎么用wininet中的OpenRequest? vc2003 类编译出错,不知如何解决?
SystemTimeToFileTime转成FILETIME(64位整数)。(再转回来就知道是星期二了)。
FILETIME加上第四个星期二与第一个星期二相差的时间。
(ULONGLONG)10000000*60*60*24*((4-1)*7+(2-1)-(2-1))
最后再转回SYSTEMTIME。就是2008-1-22了。
4个星期吧,可以这么 4*7 =28 天 星期2 就+2 就= 30 CTime time2(2008,1,1,0,0,1);
CTimeSpan timeSpan(30,0,0,0);
time2= time2 +timeSpan;
CString s;
s.Format("%d %d %d",time2.GetYear(),time2.GetMonth(),time2.GetDay());
MessageBox(s);