我有一些代码在某些输出文件中记录DateTime
:
DateTime dateTime = DateTime::Now;
String^ value = String::Format("{0} {1}", dateTime.ToShortDateString(), dateTime.ToLongTimeString());
...显然在客户机器上提供了一些奇怪的输出:
2014-12-16 오전 12:00:00
可能导致这些额外字符出现的原因是什么?
答案 0 :(得分:4)
如果用户位于不同的区域设置,这是相当合理的 - 您应该询问您的客户他们的系统区域设置是什么。如果需要机器可读格式,请使用不变文化。例如:
String^ value = dateTime.ToString("yyyy-MM-dd HH:mm:ss",
CultureInfo::InvariantCulture);
答案 1 :(得分:3)
根据Wikipedia,这些字符在韩语中意为“上午”(请参阅英文链接),所以我想这是在客户的区域设置中,通过(大概)ToLongTimeString()
来表示。
答案 2 :(得分:1)
通过使用CultureInfo类,您始终可以保持固定的日期格式。即使在不同位置访问页面或文件后。通过定义如下
对于Ex:
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("en-US");