[討論] timestamp的平均時間統計

看板PHP作者 (夏天到了,冷不起來了說)時間13年前 (2012/05/22 16:16), 編輯推噓2(209)
留言11則, 3人參與, 最新討論串1/1
目前資料庫裡有某欄位是記錄睡眠時間、存的是一群人在一段時間裡的睡眠時間 而儲存格式則是以timestamp的方式儲存的~ 想把樣本的睡眠時間做平均的統計,(平均為 PM 10:30入睡)這樣 如果在資料庫裡把timestamp平均起來再轉成時間 除了時區造成的誤差外、還會有跨日造成的誤差的樣子 後來我用avg((timestamp+28800)%86400)先轉成每日時間再做平均計算 不過後來發現也是會因為跨日的關係出現偏移.. 用資料庫計算似乎要考慮到滿多的狀況, 如果直接取原始資料,再由PHP做時間轉換的計算。 會不會比較精準呢? user date sleeptime(timestamp) a 2012/2/17 1329491940 a 2012/2/19 1329583260 a 2012/2/20 1329675480 a 2012/2/21 1329756840 像是先算出每天下午6:00的timestamp 再算出偏移量,取平均 再由6:00推算出時間~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.202.164

05/22 16:39, , 1F
你的敘述怪怪的,sleeptime存的是int吧?如果是的話
05/22 16:39, 1F

05/22 16:39, , 2F
avg((sleeptime-unix_timestamp(date)+28800)%86400)
05/22 16:39, 2F

05/22 16:40, , 3F
以當天為基準就好了,全部還原到1970年吧
05/22 16:40, 3F

05/22 17:08, , 4F
問題是...informix沒有日期轉timestamp的函式啊 Orz
05/22 17:08, 4F

05/22 17:12, , 5F
那就自己寫在sql中吧,只是四則運算><
05/22 17:12, 5F

05/22 17:14, , 6F
你可以先算出date與1970/1/1相差的日數,乘上秒數...
05/22 17:14, 6F

05/23 09:21, , 7F
算年份還要考慮到潤年啊...
05/23 09:21, 7F

05/23 10:04, , 8F
informix沒有日期計算函式嗎?
05/23 10:04, 8F

05/23 15:25, , 9F
能找到的資料不多...目前我是全勞出來給PHP算 @.@
05/23 15:25, 9F

05/24 00:44, , 10F
感覺很多規則上的問題… o_o
05/24 00:44, 10F

05/24 09:26, , 11F
偏偏informix的脾氣又很難搞 Q.Q
05/24 09:26, 11F
文章代碼(AID): #1FkqjSZ6 (PHP)
文章代碼(AID): #1FkqjSZ6 (PHP)