gpt4 book ai didi

c# - 显示超过 24 小时的时间跨度的标准方法是什么?

转载 作者:行者123 更新时间:2023-11-30 21:05:43 24 4
gpt4 key购买 nike

我正在寻找一种在 C# 和 Delphi 中正确显示大于 24 小时的本地化持续时间的方法。我的意思是,DateTime 类型通常提供这样的字符串函数,但时间跨度却没有,为什么?

而且我什至不知道什么是非本地化时间跨度的正确格式。例如持续 2 天 10 小时 30 分钟。我发现有些会显示这样的时间跨度 2.10:30:00 或 2:10:30:00 或 2 10:30:00。

请帮忙,谢谢。

最佳答案

对于不变文化(非本地化):

myDateTime.ToString(CultureInfo.InvariantCulture)

否则,只需使用 myDateTime.ToShortDateString() 或 .ToLongDateString().. 它将使用:

System.Threading.Thread.CurrentThread.CurrentUICulture 在这种情况下..

或者如果你有什么特别的想法,你可以做

var myCulture = CultureInfo.GetCultureInfo("en-GB");
dt.ToString(myCulture);

编辑对于时间跨度:

例子:

DateTime dt1 = new DateTime(2012, 7, 17, 12, 30, 0);
DateTime dt2 = new DateTime(2012, 7, 18, 14, 40, 0);

TimeSpan ts = dt2 - dt1;
string s = ts.ToString("G", CultureInfo.InvariantCulture);

此处有更多示例:http://msdn.microsoft.com/en-us/library/dd784379.aspx

编辑 2:

有关 TimeSpan 格式字符串的更多信息: http://msdn.microsoft.com/en-us/library/ee372286.aspx

关于c# - 显示超过 24 小时的时间跨度的标准方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11533839/

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