如何存儲重復(fù)的日期,記住夏令時我把事件存儲在我的數(shù)據(jù)庫里。我有“開始”和“結(jié)束”日期時間,“票證_開始”和“票證_結(jié)束”(用于票務(wù)銷售實(shí)際開始/結(jié)束時,而不是實(shí)際事件的開始/結(jié)束)。到目前為止,我已經(jīng)構(gòu)建了一些方法來完成所有有趣的事情,比如在保存之前將日期/時間轉(zhuǎn)換為GMT,然后返回到它們各自的時區(qū)顯示。我將時區(qū)存儲在varchar字段中,其值類似于“America/New York”。但是-現(xiàn)在我需要開始處理如果用戶想要允許重復(fù)事件。我以前做過,也沒什么大不了的,但從來沒有跨越過多個時區(qū)。起初,我認(rèn)為這沒什么大不了的,但后來意識到-如果最初的開始日期是7月(例如),并且每個月都會重復(fù)一年,那么在某一時刻,夏令節(jié)約時間就會使它變得不同,這樣從格林尼治時間開始的轉(zhuǎn)換就會有不同的時間變化。一個月,當(dāng)轉(zhuǎn)換12:00時,它會將它更改為-5,下一個月,它會因?yàn)镈ST而將它更改為-4。我目前的想法是,我將存儲一個‘DST’tinyint(1),以確定是否在DST期間輸入了開始/結(jié)束日期,然后在必要時制定一個方法,將時間更改一個小時。但是-我想我會在這里問,也許這是一個“正?!钡膯栴},或者是一個我沒有想到的簡單的事情。(cakephp 2.4.x)
3 回答
- 3 回答
- 0 關(guān)注
- 456 瀏覽
添加回答
舉報
0/150
提交
取消