C# 将浮点转换为时间跨度
是否有一种简单的方法可以获取表示分数小时的C# 将浮点转换为时间跨度,c#,datetime,timespan,C#,Datetime,Timespan,是否有一种简单的方法可以获取表示分数小时的浮点值,并将其转换为TimeSpan对象,反之亦然?例如: float oneAndAHalfHours = 1.5f; float twoHours = 2f; float threeHoursAndFifteenMinutes = 3.25f; float oneDayAndTwoHoursAndFortyFiveMinutes = 26.75f; TimeSpan myTimeSpan = ConvertToTimeSpan(oneAndAHal
浮点值,并将其转换为TimeSpan
对象,反之亦然?例如:
float oneAndAHalfHours = 1.5f;
float twoHours = 2f;
float threeHoursAndFifteenMinutes = 3.25f;
float oneDayAndTwoHoursAndFortyFiveMinutes = 26.75f;
TimeSpan myTimeSpan = ConvertToTimeSpan(oneAndAHalfHours); // Should return a TimeSpan Object
有什么想法吗?那么,你在找
文档是您的朋友。您需要该方法
这将采用双精度(而不是浮点)并返回TimeSpan
:
double hours = 1.5;
TimeSpan interval = TimeSpan.FromHours(hours);
要从TimeSpan
获取总小时数,请使用以下属性:
TimeSpan interval = new TimeSpan(1, 15, 42, 45, 750);
double hours = interval.TotalHours;
那个命名方案太疯狂了。如此隐秘。谁会想到,如果我想用几个小时来创建一个TimeSpan
,那就是TimeSpan.FromHours
所能做的?我会花很多钱去看Eric设计的日期/时间API。我的意思是,完全从字面上。。。我认为,将他的决定与我在野田佳彦时代所做的决定进行比较所获得的价值对我来说是相当值得的。事实上,它应该是时间跨度。从3.6百万毫秒到有意义。到小时()-应该是某种形式的改进,比如说“从小时”根据小时值推断您正在做某事。@Vidar:但这是一个静态方法,所以ToHours(hours)
毫无意义ToXXX
仅作为实例方法才有意义。“'FromHours'根据小时值推断您正在做某事。-这意味着,是的,因为这正是它正在做的。您提供小时数,它返回一个TimeSpan