【发布时间】:2021-05-19 20:31:49
【问题描述】:
有可能以某种方式转换如下:
2d 10:00:00
到 C# 中的时间跨度? 已经有一些函数可以转换它?
其他一些例子可能是:
30d 00:00:00
1m 3d 20:00:01
1y 2d 00:00:00
甚至只是:
3d
10d
3m
3y 10d
【问题讨论】:
-
使用一点乘法来求解总秒数并调用
TimeSpan.FromSeconds(double),这是 Msdn 页面:docs.microsoft.com/en-us/dotnet/api/… -
@asawyer 几个月到几秒的转换是多少?
-
没有明确的方法可以将年或月转换为 TimeSpan,除非您知道这些年或月是闰年以及并非所有月都有相同数量的事实天。
-
如果您需要解析月份或年份字符串,您可以在Noda Time 中使用
Period类型而不是TimeSpan。您将使用PeriodPattern类进行解析。