我有DateTime
類型的變量dtTime
和TimeSpan
類型的tmSpan
。我做這些:我設置到DateTime.TimeOfDay中的TimeSpan會根據DateTime更改嗎?
dtTime=new DateTime(1,1,1)+tmSpan;
在此之後,如果我改變dtTime
天這個時間變化將被應用到tmSpan
?如果不是有任何解決方案來應用這樣的東西?
我有DateTime
類型的變量dtTime
和TimeSpan
類型的tmSpan
。我做這些:我設置到DateTime.TimeOfDay中的TimeSpan會根據DateTime更改嗎?
dtTime=new DateTime(1,1,1)+tmSpan;
在此之後,如果我改變dtTime
天這個時間變化將被應用到tmSpan
?如果不是有任何解決方案來應用這樣的東西?
不,它不會。 tmSpan
是持有一定價值的自變量。 dtTime
中的更改不會更改tmSpan
。
對於你的問題的第二部分,我不知道你是如何計算的時間跨度,但我相信你必須重新計算,以什麼變化,是這樣的:
tmSpan = dtTime - DateTime.Now;
改變dtTime
後你可以做
tmSpan = dtTime - new DateTime(1,1,1);
當你做這個操作
dtTime=new DateTime(1,1,1)+tmSpan;
TimeSpan
值的一部分是dtTime
實例的一部分,對其進行的任何更改都不會反映在TimeSpan
上。您仍然可以通過使用dtTime.TimeOfDay
訪問相關部分,這是我認爲您正在尋找的內容。
['TimeSpan'](http://msdn.microsoft.com/zh-cn/library/system.timespan.aspx)是不可變的 - 如果您查看可用的方法,您會發現任何方法涉及突變該值會返回一個* new *'TimeSpan'結構。 – 2012-08-07 06:28:26