从float转换为TimeSpan

pet*_*ter 1 .net c# datetime

我需要将一个浮点数转换为datetime.例如:

float x=70;
Run Code Online (Sandbox Code Playgroud)

DateTime应该返回1分10秒.(1:30)

jea*_*frg 6

您可以使用它TimeSpan来及时表示浮动.请记住TimeSpan,不接受float参数,因此您需要转换为double类型.

float x = 70;
TimeSpan span = TimeSpan.FromSeconds((double)(new decimal(x)));
Run Code Online (Sandbox Code Playgroud)

然后使用引用DateTime"转换" TimeSpanDateTime.在这个例子中我们正在使用epoch.

DateTime epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
DateTime date = epoch + span;
Run Code Online (Sandbox Code Playgroud)

日期表示来自的秒数(您的float)epoch.

:epoch(Unix时间)可以是任何日期(根据需要更改)

演示:http://rextester.com/QCK29438