我想将DateTime
实例转换为TimeSpan
实例,是否可能?
我环顾四周但是找不到我想要的东西,我只找时差.更具体地说,我想将一个DateTime
实例转换为毫秒,然后将其保存到IsolatedStorage中.
小智 188
您可以使用日期时间的TimeOfDay属性,即TimeSpan类型:
DateTime.TimeOfDay
Run Code Online (Sandbox Code Playgroud)
此属性自.NET 1.1以来一直存在
更多信息:http://msdn.microsoft.com/en-us/library/system.datetime.timeofday(v=vs.110).aspx
Koa*_*ear 18
TimeSpan.FromTicks(DateTime.Now.Ticks)
Run Code Online (Sandbox Code Playgroud)
请尝试以下代码。
TimeSpan CurrentTime = DateTime.Now.TimeOfDay;
Run Code Online (Sandbox Code Playgroud)
获取一天中的时间并将其分配给TimeSpan
变量。
如果您使用 WPF 和 Xceed 的 TimePicker(似乎正在使用 DateTime?)作为时间跨度选择器(就像我现在所做的那样),您可以从中获取总毫秒数(或 TimeSpan),如下所示:
var milliseconds = DateTimeToTimeSpan(timePicker.Value).TotalMilliseconds;
TimeSpan DateTimeToTimeSpan(DateTime? ts)
{
if (!ts.HasValue) return TimeSpan.Zero;
else return new TimeSpan(0, ts.Value.Hour, ts.Value.Minute, ts.Value.Second, ts.Value.Millisecond);
}
Run Code Online (Sandbox Code Playgroud)
XAML:
<Xceed:TimePicker x:Name="timePicker" Format="Custom" FormatString="H'h 'm'm 's's'" />
Run Code Online (Sandbox Code Playgroud)
如果没有,我想你可以调整我的 DateTimeToTimeSpan() ,以便它也考虑“天”或做类似的事情dateTime.Substract(DateTime.MinValue).TotalMilliseconds
。