2015-11-07 19 views
0

或者這甚至可能嗎?如何確定DateTime對象的文化存儲爲?

作爲一個側面的問題,這個問題對我來說存在的理由是爲了瞭解當用戶在運行時更改Windows文化設置時DateTime對象發生了什麼?

+4

你是什麼意思? 'DateTime'值沒有文化。如果您根據特定的文化進行格式化,則不再具有「DateTime」值。你有一個「字符串」值。自然,'string'值沒有報告用於創建文化的機制。你將不得不分開存儲文化信息。你究竟在這裏問什麼? –

+0

我可以看到我的問題有點不清楚,對此感到抱歉。那麼DateTime對象總是被假定爲本地時間?我只是不明白爲什麼date.ToLocalTime()。ToLocalTime()更改該值只有一次? – xnp

+1

DateTime.SpecifyKind允許您指定它是本地或UTC。 ToLocalTime()會將UTC時間轉換爲本地時間。 – James

回答

2

當用戶在運行時更改Windows文化設置時,DateTime對象會發生什麼變化?

什麼都沒有。 DateTime的任何現有值均保持不變。

DateTime對象始終假定爲本地時間?

編號A DateTime值可以是「本地」值,「UTC」值或「未指定」類型的值。

我只是不明白爲什麼date.ToLocalTime()。ToLocalTime()更改該值只有一次?

DateTime這兩個方法之間的轉換檢查什麼樣的DateTime值是當前值表示的。如果當前值已經被請求的類型,該方法只返回當前值。

所以一旦你叫ToLocalTime(),你現在有一個「地方」之類的DateTime,如果你再打電話ToLocalTime()你只是要得到相同的值回。

0
  1. 當用戶在運行時更改Windows文化設置時,DateTime字段的值永遠不會更改。

  2. 不,我們不能將DateTime值當作本地時間。

相關問題