我想將DateTime
實例轉換爲TimeSpan
實例,是否有可能?將DateTime轉換爲TimeSpan
我環顧四周,但我找不到我想要的,我只找到時間差異。更具體地說,我想將DateTime
實例轉換爲毫秒,然後將其保存到IsolatedStorage中。
我想將DateTime
實例轉換爲TimeSpan
實例,是否有可能?將DateTime轉換爲TimeSpan
我環顧四周,但我找不到我想要的,我只找到時間差異。更具體地說,我想將DateTime
實例轉換爲毫秒,然後將其保存到IsolatedStorage中。
要將DateTime
轉換爲TimeSpan
,您應該選擇基準日期/時間 - 例如, 2000年1月1日午夜,並將其從DateTime
值中減去(並在需要轉換回DateTime
時添加)。
如果您只是想將DateTime
轉換爲數字,則可以使用Ticks
屬性。
如果你正在使用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);
}
XAML:
<Xceed:TimePicker x:Name="timePicker" Format="Custom" FormatString="H'h 'm'm 's's'" />
如果沒有,我猜你可能只是調整我的DateTimeToTimeSpan(),因此它也需要 '天' 考慮或做某事喜歡dateTime.Substract(DateTime.MinValue).TotalMilliseconds
。
TimeSpan.FromTicks(DateTime.Now.Ticks)
您可以只使用日期時間的TimeOfDay屬性,它是時間跨度類型:http://msdn.microsoft.com/en-us/library/system.datetime.timeofday(v=vs.110).aspx
這是一個更好的答案,謝謝。 – Jeremy
DateTime.Now.TimeOfDay || DateTime.Today.TimeOfDay – espaciomore
爲了讓人痛苦和過度清晰,您可以使用'DateTime myDateTime = DateTime.UtcNow;'或其他任何方法來獲取* DateTime *特定實例*,然後您可以使用** myDateTime .TimeOfDay;'**。或者,你可以剪掉中間人,並說**,'DateTime.UtcNow.TimeOfDay' **,natch。 (也就是說,DateTime.TimeOfDay是當前的示例代碼,它是「無效的」並且不會像DateTime.UtcNow一樣給你一個值,這是有道理的。你需要一個特定的DateTime來抓住它的'TimeOfDay'值。) – ruffin
DateTime.TimeOfDay
因爲.NET 1.1
更多信息這家酒店一直圍繞
請嘗試下面的代碼。
TimeSpan CurrentTime = DateTime.Now.TimeOfDay;
獲取當天的時間並將其分配給TimeSpan
變量。
DateTime.TimeOfDay更好 –
這取決於。 'TimeOfDay'只是Time,並不包含'TimeSpan'中的當前日期。 – KoalaBear