COleDateTime::Format和Locale Information

luokun 2004-08-11 07:40:24
我现在试图使用COleDateTime::Format,目的是从某个日期,比如说2004年4月19日,得到日本的年号,上例是平成16年。
看上去能够做到这点的应该是该函数的第一个版本,接受dwFlags和lcid的这个版本。然而MSDN上对我的这个需求没有提及,我在MSDN内跳转,终于发现了一点蛛丝马迹。
在MSDN的Topic“Locale Information”里,有一个LOCALE_ICALENDARTYPE类型,其中的值3正是我要的。
但是对于如何在COleDateTime::Format里使用这个LOCALE_ICALENDARTYPE,我完全不知道。近过一番乱试终告告败,特此上来求助,望高手赐教。
...全文
231 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mr-Chen 2004-09-06
  • 打赏
  • 举报
回复
Gz
luokun 2004-08-26
  • 打赏
  • 举报
回复
终于发现了一个setlocale(LC_ALL, "Japanese_japan" );
木曜日(星期)和午前(AMPM)都能出来,就是年号出不来,郁闷啊,就差这一步了。
DentistryDoctor 2004-08-17
  • 打赏
  • 举报
回复
JP的LANGID是多少呀。
luokun 2004-08-17
  • 打赏
  • 举报
回复
Language Identifiers
0x0411 Japanese
luokun 2004-08-12
  • 打赏
  • 举报
回复
不行了,在控制面板里把西历改成了和历,系统栏显示变成了16年而不是平成16年。
这也罢了,用那个COleDateTime::Format,就连16年也怎么都得不到。
holyeagle 2004-08-12
  • 打赏
  • 举报
回复
可以尝试先改变系统的local infomatin, 然后读数据,再恢复回去.
luokun 2004-08-12
  • 打赏
  • 举报
回复
我好像弄错了,那个最多只能让我知道现在采用的历法是哪一种,而不是我想要的效果。:(
holyeagle 2004-08-11
  • 打赏
  • 举报
回复
先用MAKELANGID得到LCLANID,然后MAKELCID得到LCID
GetLocaleInfo(
LCID Locale, // locale identifier
LCTYPE LCType, // information type
LPTSTR lpLCData, // information buffer
int cchData // size of buffer
);试试看

1,649

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 非技术类
社区管理员
  • 非技术类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧