如何从总秒数中获取DateTime?

joh*_*ode 2 c# datetime

让我说我有

int seconds = 43200;

(从当天00:00:00开始的秒数)我希望得到相关的DateTime表示("12:00:00").有没有c#实用功能?

Tim*_*ter 13

你需要TimeSpan,然后你可以这样得到DateTime:

TimeSpan timeOfDay = TimeSpan.FromSeconds( seconds );
DateTime dt = DateTime.Today.Add( timeOfDay );
Run Code Online (Sandbox Code Playgroud)


Son*_*nül 10

它不是一种DateTime表示,它看起来像是TimeSpan对我的表现.

为此,你可以使用TimeSpan.FromSeconds像这样的方法;

int seconds = 43200;
var ts = TimeSpan.FromSeconds(seconds);
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

如果你真的需要添加它来生成当天中午,你可以使用DateTime.Today属性并将其添加到那里.

DateTime dt = DateTime.Today.Add(ts);
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述