windows - GetDateFormat 返回无效的 ky-KG 短日期(吉尔吉斯 - 吉尔吉斯斯坦)
问题描述
Windows 报告LOCALE_SShortDate
ky-KG 的“短日期”格式 ( ) 是:
d-MMM yy
日期格式字符串包含图片代码。其他图片代码为d
, dd
, ddd
, dddd
, M
, MM
, MMM
, MMMM
, yy
, yyyy
.
对于英国人,使用该日期格式的结果字符串将是:
16-Oct 21
\/ \_/ \/
d MMM yy
因为MMM
是指“由 LOCALE_SABBREVMONTHNAME 值指定的缩写月份,例如,英语(美国)中的“Oct”。”*
对于英语语言环境,那些“缩写月份名称”将是:
区域信息 | 价值 |
---|---|
LOCALE_SABBREVMONTHNAME1 |
简 |
LOCALE_SABBREVMONTHNAME2 |
二月 |
LOCALE_SABBREVMONTHNAME3 |
三月 |
LOCALE_SABBREVMONTHNAME4 |
四月 |
LOCALE_SABBREVMONTHNAME5 |
可能 |
LOCALE_SABBREVMONTHNAME6 |
君 |
LOCALE_SABBREVMONTHNAME7 |
七月 |
LOCALE_SABBREVMONTHNAME8 |
八月 |
LOCALE_SABBREVMONTHNAME9 |
九月 |
LOCALE_SABBREVMONTHNAME10 |
十月 |
LOCALE_SABBREVMONTHNAME11 |
十一月 |
LOCALE_SABBREVMONTHNAME12 |
十二月 |
您可以使用GetDateFormat函数为您返回一个日期,该日期遵循英语的缩写月份名称。
因此,要使用格式字符串格式化日期d-MMM yy
,请使用en-US
您可以调用的语言环境:(伪代码)
GetDateFormat(1033, LOCALE_NOUSEROVERRIDE, &systemTime, "d-MMM yy", buffer, bufferLen);
返回格式的格式化字符串:
- 16-Oct 21
d.MMM yy
现在是吉尔吉斯斯坦
吉尔吉斯的月份使用不同的缩写;这是有道理的,因为他们不会说英语:
区域信息 | 价值 |
---|---|
LOCALE_SABBREVMONTHNAME1 |
燧发 |
LOCALE_SABBREVMONTHNAME2 |
фев |
LOCALE_SABBREVMONTHNAME3 |
马拉 |
LOCALE_SABBREVMONTHNAME4 |
回复 |
LOCALE_SABBREVMONTHNAME5 |
关注 |
LOCALE_SABBREVMONTHNAME6 |
埃西恩 |
LOCALE_SABBREVMONTHNAME7 |
关注 |
LOCALE_SABBREVMONTHNAME8 |
一个 |
LOCALE_SABBREVMONTHNAME9 |
西恩 |
LOCALE_SABBREVMONTHNAME10 |
окт |
LOCALE_SABBREVMONTHNAME11 |
ㄧㄟ |
LOCALE_SABBREVMONTHNAME12 |
格格 |
当我尝试对区域设置相同的GetDateFormat调用ky-KG
时:
GetDateFormat(1088, LOCALE_NOUSEROVERRIDE, &systemTime, "d-MMM yy", buffer, bufferLen);
我得到一个格式化的日期字符串:
- 16-окт. 21
^
注意那里的额外.
内容。
这与短日期格式字符串不匹配:
- 预期:
d-MMM yy
- 实际:
d-MMM. yy
这是一个错误,但如何解决它?
如果 Windows 告诉我:
- “短日期格式”是
d-MMM yy
- 的缩写名称
Октябрь
是окт
- Windows 提供了使用这些字符串格式化日期的功能
为什么 Windows 会生成一个 Windows 说该字符串应该看起来像的字符串?
当您尝试解析 Windows 生成的日期时会很痛苦,而 Windows 生成的日期与 Windows 所说的格式不匹配。
发生了什么事,我如何以中立的方式解决它?
视窗 10.0.19043.1237
奖金喋喋不休
吉尔吉斯斯坦是唯一在短期内不使用MM
(即数字)的语言环境。
保加利亚和土库曼斯坦有一个包含固定后缀的短日期格式:
- 保加利亚:
d.M.yyyy 'г.'
- 土库曼斯坦:
dd.MM.yy 'ý.'
整洁的!我不知道后缀缩写代表什么;但它看起来很整洁。
奖金阅读
解决方案
推荐阅读
- c# - 如何在 C# 中插入和搜索通用哈希表
- html - CSS 网格 - 图像问题
- javascript - 导出的对象返回“未定义”
- javascript - 有没有更好的方法将列添加到二维数组
- postgresql - 如何将 docker postgres 映像 10.3 中的 pg_restore 升级到 10.5
- c# - 在 .NET Core 2.1 版本中使用管道分隔符将数据写入 .DAT 文件
- remote-server - 如何不显示从远程服务器到本地机器的 xterm 终端
- java - 为什么 System 类不需要实例化?
- c# - 当我将控制器放入另一个项目 OData .Net Core 时,控制器无法正常工作
- chromecast - 在 Chromecast Receiver 中获取发件人语言