c#中的DateTime到字符串格式
本文关键字:字符串 格式 DateTime 中的 | 更新日期: 2023-09-27 18:22:14
我在将DateTime变量转换为字符串时遇到一些问题。我想使用包括AM/PM
在内的12小时时钟显示时间
带有以下代码:
string timeStr = PaymentDate.ToString("hh:mm tt");
我会得到"11:39"
,但PM/AM
没有显示。你猜得到了吗?
您可以使用CultureInfo.InvariantCulture
强制使用AM/PM指示符,即使您当前的区域性不使用它:
PaymentDate.ToString("hh:mm tt", CultureInfo.InvariantCulture);
您可以通过以下方式查看当前区域性的标志(我的标志也是"de de"中的""
):
DateTimeFormatInfo.CurrentInfo.AMDesignator // and .PMDesignator
DateTime.ToString(string)
方法使用您的CurrentCulture
。
我认为您的DateTimeFormat
的AMDesignator
是空字符串。这就是为什么你不能用CurrentCulture
打印它。
或者,您可以使用InvariantCulture
(将"AM"
作为AMDesignator
)作为DateTime.ToString
重载中的第二个参数。
string timeStr = PaymentDate.ToString("hh:mm tt", CultureInfo.InvariantCulture);
Inspector Gadget模式打开:您的个人资料页面显示您来自Ireland
,我假设您的CurrentCulture
是en-IE
。并且它的AMDesignator
属性值是空字符串。
CultureInfo.GetCultureInfo("en-IE").DateTimeFormat.AMDesignator;
// Prints empty string