.net - 本地化 .net 中时间跨度的 'total seconds'

标签 .net string-formatting globalization timespan

我想将 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 美元)。

最佳答案

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

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

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

关于.net - 本地化 .net 中时间跨度的 'total seconds',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12698828/

相关文章:

c# - 如何使用 C# 在 MS Excel 单元格中添加数字验证

.net - 如何手动删除 MSI 安装?

java - java的String.format()中数字的可配置意义?

.net - Html.RenderAction 是否已进入 VS2010/ASP.NET 4?

c# - 无法触发数据列表中的 DeleteCommand

ios - 在 Swift 中格式化电话号码

wpf - 将(非多)ValueConverter 应用为 MultiBinding + StringFormat 的输出

asp.net-mvc - 如何在 ASP.NET MVC Controller 中设置小数点分隔符?

.net - 使用自定义文化时,ResourceManager 未选择正确的资源集

ionic-framework - 无法使用 ionic 2.2.0 进行 npm 安装全局化,未满足依赖项