Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将浮点转换为时间跨度_C#_Datetime_Timespan - Fatal编程技术网

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