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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

未來的預(yù)訂維護(hù)業(yè)務(wù)時區(qū)以在其他時區(qū)顯示數(shù)據(jù)

未來的預(yù)訂維護(hù)業(yè)務(wù)時區(qū)以在其他時區(qū)顯示數(shù)據(jù)

慕沐林林 2023-02-24 11:06:54
我正在為一家企業(yè)設(shè)置一個網(wǎng)絡(luò)應(yīng)用程序,該應(yīng)用程序接受未來的預(yù)訂,也可以重復(fù)進(jìn)行。目前,只有商家可以進(jìn)行預(yù)訂。商業(yè)規(guī)則:該應(yīng)用程序必須根據(jù)帳戶注冊時提供的公司地址為用戶保存時區(qū)。所有活動都將在營業(yè)地址舉行。更新:根據(jù)評論,此規(guī)則將更改為:將向使用地理編碼服務(wù)的用戶推薦時區(qū)(在找到匹配項的情況下),但用戶必須確認(rèn)他們的時區(qū)。當(dāng)從另一個時區(qū)登錄時,webapp 應(yīng)用程序預(yù)訂系統(tǒng)仍應(yīng)向用戶顯示為設(shè)置為業(yè)務(wù)時區(qū)。(可能的情況是用戶正在國外開會,但仍想查看他們的預(yù)訂)。這應(yīng)該意味著他們?nèi)匀豢梢韵褚郧耙粯邮褂孟到y(tǒng),例如。通過添加新預(yù)訂。但是,我認(rèn)為這意味著系統(tǒng)必須忽略用戶的本地時區(qū),并將業(yè)務(wù)時區(qū)應(yīng)用于任何預(yù)訂事件。我有一個為同一時區(qū)內(nèi)的用戶工作的預(yù)訂系統(tǒng)。但是,當(dāng)他們更改時區(qū)時,未來的預(yù)訂日歷就會中斷。我的應(yīng)用程序是帶有 postgresql 的 nodeJS。我感到困惑的是關(guān)于日期時間我應(yīng)該堅持什么,以及要執(zhí)行哪些相關(guān)轉(zhuǎn)換。我認(rèn)為始終保存客戶端區(qū)域設(shè)置日期時間(即使不使用,因為要求可能會更改)以及 UTC 時間是明智的。但我想我還必須構(gòu)建一個日期(在 javascript 中),它采用所選的日期時間并將業(yè)務(wù)時區(qū)應(yīng)用于此(使用例如?moment.tz.setDefault("America/New_York"))。查看日程安排信息時,我不確定如何在客戶端上收到此日期。如何確保它與業(yè)務(wù)時區(qū)一起顯示?
查看完整描述

1 回答

?
MM們

TA貢獻(xiàn)1886條經(jīng)驗 獲得超2個贊

您應(yīng)該始終存儲與事件相關(guān)的時區(qū)。由于您說“所有活動都將在公司地址舉行”,因此公司的時區(qū)是相關(guān)的。

如果這些是面對面的實際事件,則用戶當(dāng)前的本地時區(qū)根本不相關(guān)。例如,我希望如果我在洛杉磯預(yù)約牙醫(yī),即使我是從紐約預(yù)約的,我也會指定洛杉磯的時間。

但是,如果事件是虛擬在線事件,那么您可能還想在 UX 中添加一些邏輯以顯示目標(biāo)時區(qū)的時間和等效的本地時間。例如,如果我下周要與一個在洛杉磯的人進(jìn)行視頻通話,而我今天恰好在紐約,那么你不知道通話時我是否還在紐約,或者是否到那時我已經(jīng)去洛杉磯旅行了。您應(yīng)該允許我選擇我在哪個時區(qū)創(chuàng)建約會,并顯示那里的時間和我的等效本地時間。

時區(qū)本身應(yīng)存儲為varchar(14). IANA 2017c 為區(qū)域或鏈接標(biāo)識符的各個部分建立了 14 個字符的限制,刪除了唯一超過它的鏈接名稱,Canada/East-Saskatchewan. (如果您有包含該內(nèi)容的舊數(shù)據(jù),請將其替換為America/Regina。)

對于單個約會,您應(yīng)該在約會的時區(qū)中存儲約會的日期和時間。您應(yīng)該將其存儲在一種數(shù)據(jù)類型中,該數(shù)據(jù)類型包含沒有任何時區(qū)或偏移量的日期和時間。 timestamp without time zone在 postgres、datetime2MS Sql Server 等中。

您可能認(rèn)為您應(yīng)該使用 a timestamp with timezone(或datetimeoffset在 SQL Server 中鍵入),但這會將約會固定到等效的通用時間,使用安排約會時適用的規(guī)則。如果這些規(guī)則在任命生效之前發(fā)生變化,那么任命將轉(zhuǎn)移到不同的當(dāng)?shù)貢r間。這通常是不希望的。重點是捕捉用戶的意圖。換句話說,如果我說“12 月 1 日早上 8 點”,那么我的意思是不管我的政府從現(xiàn)在到我的約會時間對我的時區(qū)做了什么。

可以將等效的 UTC 時間存儲在一個單獨的字段中,但是您需要在服務(wù)器的時區(qū)數(shù)據(jù)更新時重新計算它。(這樣的字段可以方便快速查詢即將發(fā)生的事件。)

對于定期約會,以上所有內(nèi)容仍然適用,只是您需要存儲某種形式的重復(fù)規(guī)則。有些人喜歡為規(guī)則的各個組成部分存儲許多字段(例如一個字段用于“每天”,一個字段用于“星期三”,一個字段用于一天中的時間,等等)。如果愿意,您可以在數(shù)據(jù)庫中使用dateand類型。time其他人喜歡存儲帶有 chron 表達(dá)式的字符串。這真的取決于你的需要。

考慮到每次出現(xiàn)的 UTC 等效值不一定相同,對于定期約會尤為重要??紤]到許多時區(qū)根據(jù)夏令時是否有效來交替其 UTC 偏移量。例如,如果我在洛杉磯創(chuàng)建一個每天上午 10 點的約會,那么太平洋標(biāo)準(zhǔn)時間為世界標(biāo)準(zhǔn)時間下午 6 點,太平洋夏令時間為世界標(biāo)準(zhǔn)時間下午 5 點。因此,您不能只存儲 UTC 時間。同樣,捕捉用戶的意圖是最重要的部分。



查看完整回答
反對 回復(fù) 2023-02-24
  • 1 回答
  • 0 關(guān)注
  • 123 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

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

公眾號

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