gpt4 book ai didi

c# - 更改时间跨度毫秒分隔符;逗号 (,) 而不是点 (.)

转载 作者:行者123 更新时间:2023-11-30 19:52:57 29 4
gpt4 key购买 nike

<分区>

我想输出本地文化的时间跨度,将其作为 csv 导入 Excel。时间跨度包含毫秒。

在英语文化中,这意味着例如00:00:01.2345678
对于德国文化,这应该是 00:00:01,2345678(逗号而不是点)

但无论我为 CultureInfo 对象尝试哪种设置,我都无法让它工作:

TimeSpan t = new TimeSpan(12345678);
var cul = CultureInfo.GetCultureInfo("de");
// cul.DateTimeFormat.FullTimeSpanPositivePattern == "d':'h':'mm':'ss','FFFFFFF";
// (note the comma)

Console.WriteLine(String.Format(cul, "{0}", t));
// expected: "00:00:01,2345678" (with ,)
// actual: "00:00:01.2345678" (with .)

到目前为止,我什至不知道 CultureInfo 类的哪个属性定义了它。这是在某处硬编码的吗?

我知道我可以明确定义输出格式:`String.Format("{0:hh\:mm\:ss\,FFFFFFF}", t)

但是有没有办法为此使用 IFormatProvider,以便 c# 将使用给定的 Culture?

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