none
win7 英文系统下 CTime 加1天后,日期不变 RRS feed

  • 问题

  • 在win7 英文系统下

    CTime为2012-11-04 的时候, 加1天出现错误,日期不变,其他日期不会有错.

    而且在中文操作系统下面不会有错。

    代码如下:

    CTime tToday (2012,11,4,0,0,0);

    CTime tTomorrow;

    CTimeSpan ts(1,0,0,0);

    tTomorrow = tToday + ts;

    int nday = tTomorrow .GetDay(); //此处得到的还是4,加了1天应该为5的

    2012年6月4日 11:52

答案

  • 用您上面的代码,Win 7 x64 英文版, VC6下测试,没有问题,nday的值为5.


    Visual C++ enthusiast, like network programming and driver development. At present is being engaged in the WinCE/Windows Mobile platform embedded development.

    • 已建议为答案 Helen Zhao 2012年6月12日 2:30
    • 已标记为答案 Helen Zhao 2012年6月18日 2:12
    2012年6月4日 13:25
    版主

全部回复

  • 用您上面的代码,Win 7 x64 英文版, VC6下测试,没有问题,nday的值为5.


    Visual C++ enthusiast, like network programming and driver development. At present is being engaged in the WinCE/Windows Mobile platform embedded development.

    • 已建议为答案 Helen Zhao 2012年6月12日 2:30
    • 已标记为答案 Helen Zhao 2012年6月18日 2:12
    2012年6月4日 13:25
    版主
  • 嗯,我是在win7  32位上,vc2005下的,nday的值为4,很不解啊

    直接输出

    tToday值为        1352012400

    tTomorrow 值为 1352098800

    不过再以2012-11-5 来看,CTime tToday (2012,11,5,0,0,0);

    输出来的值为 1352102400,和上面的“tTomorrow 值为 1352098800”相差3600,一个小时啊

    非常不解,只有2012-11-4这天会有问题

    2012年6月4日 13:52