gpt4 book ai didi

.net - String.Format(格式,日期)正在忽略格式

转载 作者:行者123 更新时间:2023-12-03 14:37:07 24 4
gpt4 key购买 nike

不知道这是怎么回事。

我有一个DateTime对象,当我尝试时:

String.Format( "{0:dd/MM/yyyy}", _date)


返回的值是:

"24-05-1967"


我想要的是

"24/05/1967"


谁能解释为什么我的格式字符串被忽略?

更多背景:
这是一个以.net 1.1开头的Web应用程序,我正在将其升级到2.0 / 3.5。

更新:

如果我将格式更改为{0:dd:MM:yyyy},它将返回24:05:1967-只是格式字符串中的/更改为-char。



解析度:

将应用程序更新为在2.0下运行时,asp.net全球化设置被弄乱了。

在网站属性中,出于某些奇怪的原因,ASP.NET选项卡,“编辑配置”,“应用程序”选项卡-文化和UI文化都被设置为列表(af-ZA)中的第一项。

最佳答案

/实际上是您的特定区域性的日期分隔符,可以是-,换句话说,格式字符串不会被忽略,但实际上使用正确。查看什么CultureInfo与正在运行的线程相关联:

System.Threading.Thread.CurrentThread.CurrentCulture


如果您尝试这样做:

String.Format(new CultureInfo("en-US"), "{0:dd/MM/yyyy}", DateTime.Now);


您将获得以/格式化的日期,因为这是en-US的正确分隔符。您可能应该做的是使用短日期格式字符串,并确保该线程具有适当的区域性,这将为您提供所需的信息,并且它也将在全球化的应用程序中运行:

DateTime.Now.ToString("d", Thread.CurrentThread.CurrentCulture);


希望这可以帮助!

关于.net - String.Format(格式,日期)正在忽略格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/318056/

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