请教如何将GetSystemTime得到的日期convert成_TCHAR*?

williamq 2004-05-07 07:53:11
因为是VC.net编的WINAPI程序,没有用MFC,ATL.有没有好的方法可使用?
...全文
37 4 点赞 打赏 收藏 举报
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
williamq 2004-05-07
谢谢,原来wsprintf是关键!
  • 打赏
  • 举报
回复
SharpDevelop 2004-05-07
学习ing
  • 打赏
  • 举报
回复
东北高宏伟 2004-05-07
以上也是用VC.NET 2003,编写的控制台程序。
  • 打赏
  • 举报
回复
东北高宏伟 2004-05-07
#include <iostream>
#include <conio.h>
#include <windows.h>
#include <tchar.h>

#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#endif

using namespace std ;

void main()
{
SYSTEMTIME st;
_TCHAR szBuffer[128] ;

GetSystemTime(&st);
if ( st.wHour > 15 )
wsprintf( szBuffer, _T("%d年%d月%d日 %d:%d:%d:%d 今天是周%d"),
st.wYear, st.wMonth, st.wDay, st.wHour-16, st.wMinute, st.wSecond,
st.wMilliseconds, st.wDayOfWeek) ;
else
wsprintf( szBuffer, _T("%d年%d月%d日 %d:%d:%d:%d 今天是周%d"),
st.wYear, st.wMonth, st.wDay, st.wHour+8, st.wMinute, st.wSecond,
st.wMilliseconds, st.wDayOfWeek) ;
GetLocalTime(&st);
wsprintf( szBuffer, _T("%d年%d月%d日 %d:%d:%d:%d 今天是周%d"),
st.wYear, st.wMonth, st.wDay, st.wHour, st.wMinute, st.wSecond,
st.wMilliseconds, st.wDayOfWeek) ;


cout << szBuffer << endl ;

cout << "press any key to continue." << endl ;
getch() ;
}

/*
GetSystemTime得到的是UTC(GMT),也就是格林威治时间,所以要按北京时间进行一下转换,也就是+8的转换。其它的,我想你看看就可以看明白了,调用代码很简单,完全可以说明问题了。祝你好运。
*/
  • 打赏
  • 举报
回复
相关推荐
发帖
VC/MFC
加入

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
帖子事件
创建了帖子
2004-05-07 07:53
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……