第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

在C#中使用夏令時(shí)處理時(shí)區(qū)

在C#中使用夏令時(shí)處理時(shí)區(qū)

C#
三國(guó)紛爭(zhēng) 2021-04-27 13:14:42
我們有一個(gè)與航空有關(guān)的應(yīng)用程序,特別是與航班有關(guān)的應(yīng)用程序。時(shí)間必須存儲(chǔ)在本地,所以我選擇使用UTC時(shí)間+偏移量,但是現(xiàn)在我意識(shí)到這是一個(gè)錯(cuò)誤的選擇:通過(guò)將時(shí)區(qū)存儲(chǔ)為偏移量,我無(wú)法跟蹤原始時(shí)區(qū),這在處理夏時(shí)制時(shí)會(huì)產(chǎn)生影響。例如,我可以將UT的阿爾卑斯山時(shí)間存儲(chǔ)為UTC時(shí)間和-6偏移量,也可以將AZ的菲尼克斯時(shí)間存儲(chǔ)為UTC時(shí)間和-6偏移量。但是當(dāng)夏令時(shí)到來(lái)時(shí),阿爾卑斯山的時(shí)間會(huì)改變,鳳凰城的時(shí)間不會(huì)改變。因此,我需要存儲(chǔ)正確的時(shí)區(qū),并且我發(fā)現(xiàn)還有使用不同語(yǔ)法的不同列表,因此我假設(shè)存在不同的標(biāo)準(zhǔn)。在C#中,將本地時(shí)間與本地時(shí)區(qū)一起存儲(chǔ)以使其與夏時(shí)制一起工作的最佳選擇是什么?
查看完整描述

2 回答

?
Cats萌萌

TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超9個(gè)贊

從問(wèn)題評(píng)論中的討論中,我了解到您正在使用航班時(shí)刻表-即將來(lái)要起飛的時(shí)間。實(shí)際上,這是當(dāng)?shù)貢r(shí)間比UTC時(shí)間重要的情況。

由于您擁有當(dāng)?shù)氐某霭l(fā)時(shí)間和地點(diǎn)(例如:鹽湖城的5:00 PM),因此您應(yīng)該在計(jì)劃的出發(fā)時(shí)間數(shù)據(jù)庫(kù)中存儲(chǔ)兩個(gè)值:

  • 17:00 -出發(fā)當(dāng)?shù)貢r(shí)間

  • SLC -與時(shí)間相關(guān)的位置

如果這是這次航班的特定情況,那么您還應(yīng)該存儲(chǔ)日期:

  • 2018-06-01T17:00-具體的當(dāng)?shù)叵嚓P(guān)出發(fā)時(shí)間

  • SLC -與當(dāng)?shù)貢r(shí)間有關(guān)的位置

這些是與業(yè)務(wù)用例上下文相關(guān)的詳細(xì)信息。不要通過(guò)將它們轉(zhuǎn)換為UTC來(lái)忽視它們。

就是說(shuō),您可以考慮將它們存儲(chǔ)為DateTimeOffset2018-06-01T17:00-06:00),這對(duì)于給定的實(shí)例而言轉(zhuǎn)換為UTC并不重要。但是,此方法存在兩個(gè)問(wèn)題:

  • 由于偏移量可能會(huì)更改,因此無(wú)法重復(fù)使用。

  • 即使對(duì)于單個(gè)實(shí)例,偏移量也可能會(huì)發(fā)生變化-如果控制時(shí)區(qū)的政府決定在發(fā)生這種情況之前更改標(biāo)準(zhǔn)偏移量或夏令時(shí)規(guī)則。如果您采用一種DateTimeOffset方法或基于UTC的方法,則必須準(zhǔn)備面對(duì)此類(lèi)變化重新計(jì)算未來(lái)的事件。(有關(guān)此內(nèi)容的更多信息,請(qǐng)參閱我的博客文章:關(guān)于埃及時(shí)區(qū)變化的時(shí)機(jī)不可避免的時(shí)區(qū)混亂。還有無(wú)數(shù)其他示例。)

關(guān)于位置-因?yàn)槟谑褂玫纳舷挛臄?shù)據(jù)適用于航空業(yè),所以我建議使用SLC上面顯示的IATA機(jī)場(chǎng)代碼。在其他情況下,可能會(huì)存儲(chǔ)IANA時(shí)區(qū)標(biāo)識(shí)符(例如America/Denver)或Windows時(shí)區(qū)標(biāo)識(shí)符(例如)Mountain Standard Time。

您可能會(huì)發(fā)現(xiàn)我的“機(jī)場(chǎng)時(shí)區(qū)”要點(diǎn)(代碼和輸出表)對(duì)于使用IATA機(jī)場(chǎng)代碼非常有用。您必須決定這些數(shù)據(jù)將如何在您的系統(tǒng)中流動(dòng)。如果您在Windows上運(yùn)行,并且想使用TimeZoneInfo該類(lèi)將時(shí)間轉(zhuǎn)換為不同的時(shí)區(qū),請(qǐng)使用此處顯示的Windows時(shí)區(qū)ID。如果要使用IANA時(shí)區(qū)ID,請(qǐng)考慮使用Noda Time,也可以使用我的TimeZoneConverter庫(kù)。這里有幾種不同的選項(xiàng),因此請(qǐng)仔細(xì)研究所有選項(xiàng),然后選擇對(duì)您有意義的選項(xiàng)。

恕我直言,野田時(shí)間將是一個(gè)不錯(cuò)的選擇。您不僅會(huì)獲得出色的時(shí)區(qū)支持,而且還能夠使用類(lèi)似LocalTimeLocalDateTime與所描述的場(chǎng)景非常吻合的類(lèi)型。


查看完整回答
反對(duì) 回復(fù) 2021-05-08
  • 2 回答
  • 0 關(guān)注
  • 386 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)