请问如何将时间值按照windows系统中设置的长时间格式输出显示?例如今天是2004年6月17日,系统中设置的长时间格式为yyyy'年'mm'月'dd'日',在程序中的edit控件中显示为:2004年6月17日

解决方案 »

  1.   

    CTime test;
    test=CTime::GetCurrentTime();
    CString sTest;
    sTest=test.Format("%Y年%m月%d日 %H:%M:%S");
      

  2.   

    COleDateTime time;  int h=time.GetCurrentTime().GetYear();
     int m=time.GetCurrentTime().Month();
     int s=time.GetCurrentTime().Day();
     CString str;
     str.Format("%4d:%3d:%2d",h,m,s);
              GetDlgItem(IDC_EDIT2)->SetWindowText(str);
      

  3.   

    CString str;
    SYSTEMTIEM st;
    GetSystermTime(&st);
    str.Format("%4d年%2d月%2d日", st.wYear, st.wMonth, st.wDay);
    GetDlgItem(IDC_YOUREDIT) ->SetWindowText(str);
      

  4.   

    楼上的各位没有明白我的意思,我希望输出格式能随着用户在控制面板中作出的改变而改变。即用户将系统的long date format从yyyy'年'mm'月'dd'日'改为yyyy mm dd,我的显示也自动从“2004年6月17日”改为“2004 6 17”。继续up!