gpt4 book ai didi

c# - 将 DateTime 格式化为字符串

转载 作者:太空狗 更新时间:2023-10-29 22:59:48 25 4
gpt4 key购买 nike

以下代码:

DateTime dt = new DateTime(2013, 9, 13, 14, 34, 0);
string s = dt.ToString("MM/dd/yyyy");

textBox1.AppendText(DateTime.Now + "\n");
textBox1.AppendText(s + "\n");
textBox1.AppendText(dt.ToString() + "\n");

在文本框中产生以下输出:

13.09.2013 1441.28
09.13.2013
13.09.2013 1434.00

从输出的第一行可以清楚地看出,在我的 PC 的区域设置中,日期/时间的格式为 date.month.year HHmm.ss

输出的第二行让我感到困惑。尽管我为变量 s 指定了 MM/dd/yyyy 格式,但 DateTime 对象的格式为 MM.dd.yyyy。为什么?

这是 .NET Framework 4 上的 C# WPF 程序。

最佳答案

/ 是您当前文化的日期分隔符的占位符。如果您想强制将其作为分隔符,则必须指定 CultureInfo.InvariantCulture:

string s = dt.ToString("MM/dd/yyyy", CultureInfo.InvariantCulture);

参见:The "/" Custom Format Specifier

The appropriate localized date separator is retrieved from the DateTimeFormatInfo.DateSeparator property of the current or specified culture.


如果你想将一个string解析为DateTime也是如此。

如果您当前文化的实际日期分隔符不是 /,则以下抛出一个 FormatException:

DateTime.ParseExact("09/13/2013", "MM/dd/yyyy", null);  

始终有效:

DateTime.ParseExact("09/13/2013", "MM/dd/yyyy", CultureInfo.InvariantCulture);

关于c# - 将 DateTime 格式化为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18782000/

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