gpt4 book ai didi

c# - DateTime.ToString 问题

转载 作者:行者123 更新时间:2023-11-30 12:10:34 24 4
gpt4 key购买 nike

我尝试用“general date short time”格式显示一个DateTime。当我使用 g 说明符时,它会给我类似 01-08-13 10:12:00 10:12 而不是 01-05-13 10 :12

时间好像重复了,不知道为什么。

有人吗?

编辑 1这是我使用的代码:

var startDate = DateTime.MinValue.ToString("g");  
if (Airspace.StartDate != null)
startDate = ((DateTime)Airspace.StartDate).ToString("g"); //01-08-13 00:00:00 00:00

编辑 2当我使用“短日期模式”时出现同样的问题:

var startDate = DateTime.MinValue.ToString("d");  
if (Airspace.StartDate != null)
startDate = ((DateTime)Airspace.StartDate).ToString("d"); //01-08-13 00:00:00

没有意义!

最佳答案

“d”格式说明符应用短日期模式,“g”是短日期和短时间模式的串联。因此,根据您的结果,您以某种方式拥有一个包含时间组件的短日期模式。我可以通过显式设置如此短的日期模式来重现您的结果,如下所示:

Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern = "yyyy-MM-dd HH:mm:ss";
Console.WriteLine(DateTime.Today.ToString("g")); // 2008-05-11 00:00:00 00:00
Console.WriteLine(DateTime.Today.ToString("d")); // 2008-05-11 00:00:00

我认为真正的问题是你是如何得到一些看起来非常奇怪的文化背景的!我尝试枚举一组受支持的文化并寻找其短日期格式包含时间说明符的文化,如下所示:

foreach (var culture in CultureInfo.GetCultures(CultureTypes.AllCultures)
.OrderByDescending(c => c.DateTimeFormat.ShortDatePattern.Length))
{
Console.WriteLine($"{culture.Name} {culture.DateTimeFormat.ShortDatePattern}");
}

但在数百种文化中,我一无所获。那么,您能否在代码中的任何地方找到构建 CultureInfo 对象并将其指定为当前文化的任何内容?如果是,则该代码某处可能有错误。

关于c# - DateTime.ToString 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17988541/

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