2

我想将 TimeSpan 格式化为秒数,但我希望转换能够感知区域设置。例如:

// NOT FUNCTIONAL but illustrates what I mean
String.Format("{0:0.0s}", TimeSpan.FromSeconds(2.5324)) = "2.5s"
String.Format("{0:0s}", TimeSpan.FromMinutes(2)) = "120s"

我可以实现这样的功能:

someTimeSpan.TotalSeconds.ToString("0.0") + "s"

但这假设秒由“s”表示,并且单位应该在数量之后。这可能是跨地区的标准,因为它是 SI 的一部分,但可能不是(例如,即使在美国,某些单位也不是后缀:5 美元是 5 美元)。

4

1 回答 1

2

您当然可以使用精度的区域设置格式选项来处理数字部分。

// "N" is an example format.  Use what your app needs.
value.ToString("N", CultureInfo.CurrentCulture); 

Windows 本地化不支持本地化诸如second之类的缩写,因此您必须自己处理该部分。

于 2012-10-02T21:46:52.783 回答