查看積分策略說明發表回覆
Discuz! 代碼
提示插入
直接插入
說明訊息

插入粗體文本 插入斜體文本 插入下劃線 置中對齊 插入超級連結 插入信件位址 插入圖像 插入 flash 插入代碼 插入引言 插入列表
刪除線 直線分隔線 虛線分隔線
    
添加文字底框
內容 [字數檢查]:

表情符號

更多 Smilies
字型大小 |||
溫馨提示:本區開放遊客瀏覽。


文章關鍵字 : [功能說明]
(關鍵字可加強搜索準確性, 如關鍵字多於一組, 請以 , 作分隔, e.g. : 阿笨,shiuh,第一笨)

 關閉 URL 識別 | html 禁用
 關閉 表情符號 | 表情符號 可用
 關閉 Discuz! 代碼 | Discuz! 代碼 可用
使用個人簽名
接收新回覆信件通知
推薦放檔網絡空間

檔案(Torent, zip等)
  1. freedl
  2. multiupload
  3. btghost
  4. 便當狗
  5. mediafire
  6. pillowangel
圖片(JPG, GIF等)
  1. hotimg
  2. tinypic
  3. mousems2
  4. imageshack
  5. imm.io
>>>歡迎推薦好用空間


最新10篇文章回顧
GERRYccc

 發表於 2010-9-8 11:35 PM

我想AP會用到的時間欄位,通常都是跟伺服器時間比較有關,
因此我一定都會存伺服器時間,若需考量全世界的時間共用,
我會讓使用者選擇時區,在撈出時間後再去做加或減時區轉換。

而資料庫欄位的型態上,我偏好使用14碼字串(String): 20100908233552
要使用時一樣再用函式去做轉換成適合使用者看的格式,

好處是顯示方便、轉換方便、比對方便、比較大小也方便!!

上述供您參考.

[GERRYccc 在  2010-9-8 11:36 PM 作了最後編輯]


桂正和

 發表於 2010-7-28 02:08 AM

我自己的做法是以伺服器時間為主
但是如果是要考量到全世界的角度來看的話
用GMT+0會比較好

另外儲存時間的格式來說
其實我不愛用時間欄位
反而是用數值欄位
例如
20100728020500這樣

主要是方便比對
而且有時候會因為主機的格式不同或其他問題
導致轉換上會有很多小狀況發生
單純存成數值型態的話
也比較不會有這類問題

輸出到頁面的時候
再利用程式在寫個轉換的小函數去轉換回正規時間格式即可


bbx1

 發表於 2010-5-17 09:59 AM

謝謝各位的意見, 目前就以標準時間來做基準試寫下去
到時候如果有其他沒考量到的情況發生再向各位報告
謝謝各位了 :)


陽だまり

 發表於 2010-5-12 06:08 PM

如果要轉成當地時間來顯示的話
那可以一個欄位記錄gmt+0的時間、第二個欄位記錄+-n的時間這樣
或者要詳細一點資料的話、多二個欄位分別記錄國家、區這樣
使用者只會用到gmt+0的時間、+-n的數字
管理者會多用到國家、區這樣

跑的效能應該是不用擔心
只要資料庫規劃的好,都不會是太大問題


bbx1

 發表於 2010-5-12 02:21 PM

不只有國家吧? timezone應該還有細分區域, 我是知道PHP有:
http://www.php.net/manual/en/timezones.america.php
網路上也滿多人在問 Auto Detecting user's timezone 的方式
還沒很仔細研究過, 不過我想大概沒問題吧?

我想做的網站嘛.... 舉例來說:
一個國際的新聞網站, 在不需要使用者註冊的情況下
新聞快訊的時間會自動轉換為瀏覽者的當地時間


引用:
ma1111寫到:
基本上很簡單,
資料庫重點是統合,時間定義清楚就好,
用gmt +0或主機時間都可以(主機要裝校時軟體)

至於使用者的時區問題,應該在UI層再作轉換

那倒也是, 或許我過於吹毛求疵吧XD
想知道有沒有兩全其美的辦法是自己沒想到的就是了:p


ma1111

 發表於 2010-5-12 01:38 AM

基本上很簡單,
資料庫重點是統合,時間定義清楚就好,
用gmt +0或主機時間都可以(主機要裝校時軟體)

至於使用者的時區問題,應該在UI層再作轉換


陽だまり

 發表於 2010-5-11 09:51 PM

小弟不是前輩

不過用ip來判定的話
whois回來的同樣是us
但時區就有不同的地方不是

所以這應該也是不準

而就算讓使用者可以自己選擇
也不見得所有的使用者都會選擇自己正確的時區這樣

不過小弟不知bbx1兄主要的目的是做什麼
所以也不確定那一種比較好這樣


bbx1

 發表於 2010-5-11 10:09 AM

目前我的作法是紀錄UTC, 因為沒有使用者註冊機制
所以改用判斷使用者的 IP 得出 Timezone Location, 再把讀出來的 UTC 轉為 使用者當地時間
只是有個小麻煩的地方是: 如果管理員要直接 Database 維護時, 時間就不是當地時間了

相反地, 如果用Server Time做紀錄的話就可以排除掉上述的麻煩
但想了一下好像反而更不妥:
1. query 出來的 Time 要先轉為 UTC, 再轉為當地時間, 頗麻煩 (以效能而言)
2. 如果未來 Server 轉移不知道會不會產生問題 (MySQL 的 Current_Timestamp 屬性?)

感覺兩種作法都有其缺點, 不過因為我會做管理員後台, Admin可以從網頁上控管資料, 所以我才選第一種方式紀錄

陽だまり先輩, gmt 在沒有使用者機制下用做紀錄妥當嗎?
我是考慮還要分析日光節約太麻煩所以改用 Timezone 的XD
指教指教, tnx


陽だまり

 發表於 2010-5-10 01:47 AM

用gmt +0的時間做記錄
用戶可以自己選時區
這樣如何呢?


bbx1

 發表於 2010-5-6 12:19 PM

上次感謝各位的幫忙, 受益良多
小弟也開始嘗試往 PHP/DB 跨出第一步了
以後還請多多....不, 這次就需要麻煩各位多多指教了XD
--------------
這次是想請教各位高手只是個觀念問題
資料庫常常會紀錄到時間
假如今天要做一個網站, 使用者來自各地
當使用者瀏覽網站時, 資料被建立的時間要被轉換為該使用者當地的時間

在這樣的設計前提下, 我該在資料紀錄UTC時間好呢? 還是以Server的Timezone為主即可?
似乎各有利弊?

請大大們就自己的經驗指教一下,
感激不盡!





所在時區為 GMT+8, 現在時間是 2024-11-1 07:11 AM
清除 Cookies - 連絡我們 - TWed2k © 2001-2046 - 純文字版 - 說明
Discuz! 0.1 | Processed in 0.019787 second(s), 7 queries , Qzip disabled