C# 时间格式使用“am”和“pm”而不是上午/下午?

发布于 2024-10-07 16:24:56 字数 165 浏览 1 评论 0原文

我找不到有关如何使用 CultureInfo 类(或所需的任何内容)以“am”和“pm”(注意句点)而不是默认的 AM 和 PM 格式显示格式化时间的信息。

首先,关于使用“am”/“pm”而不是 AM/PM 的文化信息是什么?有没有办法使用格式提供程序而不是字符串替换之类的黑客来做到这一点?谢谢。

I can't find information on how to use the CultureInfo classes (or whatever is needed) to display a formatted time in "a.m." and "p.m." (note the periods) instead of the default AM and PM.

First, what culture info surrounds the use of "a.m."/"p.m." instead of AM/PM? Is there a way to do this using format providers and not a hack such as string replacements? Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

下雨或天晴 2024-10-14 16:24:56

查看 DateTimeFormatInfo 类中提供的内容CultureInfo.DateTimeFormat 属性公开。它的 AMDesignatorPMDesignator 属性允许您设置用于这些值的字符串。

请特别注意该链接的备注部分,特别是:

该应用程序可以替代标准
具有自定义图案的图案
设置 a 的关联属性
可写 DateTimeFormatInfo 对象。到
确定是否为 DateTimeFormatInfo
对象可写,应用程序
应使用 IsReadOnly 属性。

如果您从当前、不变或特定区域性中提取 CultureInfo 及其子信息对象,则默认情况下它们往往是只读的。准备好在这些对象上使用 Clone() 方法来检索可写副本,您可以返回这些副本并用于设置格式字符串。

一旦您拥有了根据需要设置了 AM/PM 属性的 DateTimeFormatInfo,您就可以将其作为 IFormatProvider 提供给 String.Format() 和 Object.ToString()

Look at what's available in the DateTimeFormatInfo class exposed by the CultureInfo.DateTimeFormat property. Its AMDesignator and PMDesignator properties let you set the strings used for those values.

Take special note of the Remarks section of that link, in particular:

The application can replace standard
patterns with custom patterns by
setting the associated properties of a
writable DateTimeFormatInfo object. To
determine if a DateTimeFormatInfo
object is writable, the application
should use the IsReadOnly property.

If you pull CultureInfo and its child info objects from the current, invariant, or a specific culture, they tend to be read-only by default. Be prepared to use the Clone() method on those objects to retrieve writable copies that you can return and use to set format strings.

Once you have a DateTimeFormatInfo with the AM/PM properties set as desired, you can supply that as the IFormatProvider used by methods like String.Format() and Object.ToString().

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文