gpt4 book ai didi

c# - Windows 正在从我在一台机器上的日期中删除斜杠

转载 作者:可可西里 更新时间:2023-11-01 09:42:13 25 4
gpt4 key购买 nike

我的程序中有两种日期格式。在一台特定的机器上:

  • date.ToString("M/d/yyyy h:m:s tt") 正在生成类似 11222013 12:0:0 AM 的内容。 (:0:0 是可以接受的;这是一个通常不会被人类读取的文件。)
  • date.ToString("MM/dd/yyyy hh:mm tt") 正在生成类似 11222013 12:00 AM 的内容。

我的代码是用 C# 编写的。拥有它的机器的人具有一定的编程经验,并且能够使用 Delphi 获得相同的行为。为什么格式化日期中缺少正斜杠?或者我应该建议他核弹并铺平有问题的盒子?

最佳答案

custom date and time format string 中, 不带引号的斜杠只是文化特定 DateTimeFormatInfo.DateSeparator 的占位符(可以是“-”和“.”之类的字符串,具体取决于文化)。如果在另一台机器上,有人自定义了 Windows 区域设置并从短日期格式中删除了分隔符,则 DateTimeFormatInfo.DateSeparator 将是一个空字符串,并且您的格式化日期将缺少斜杠。

要强制使用斜杠,请在格式字符串中用引号将斜杠括起来,或将 CultureInfo.InvariantCulture 传递给格式化方法。例如,你可以写

date.ToString("M'/'d'/'yyyy h:m:s tt")

date.ToString("M/d/yyyy h:m:s tt", CultureInfo.InvariantCulture)

CultureInfo.InvariantCulture 如果您希望在您的格式化时间中使用“:”和 AM/PM 而不是像“.”这样的本地化值,那将是更好的选择。和 Mo Mosong/Mo Maitseboeng(南非)。

关于c# - Windows 正在从我在一台机器上的日期中删除斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20153340/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com