1
私はエポックミリ秒の時間間隔を記録しています。以下に示すように:分割された時間帯別
start_time | end_time | duration
-----------------------------------------
1481460261912 | 1481460716464 | 454552
1481461049219 | 1481461291862 | 242643
....
この時間は、エポックとして保存されているため、UTCです。今、私は3つのクエリによって、このような日の期間、localtimeのために、この時間を変換することができる午前:
1)
SELECT sum(duration) FROM duration_logs
WHERE date(datetime(start_time/1000, 'unixepoch', 'localtime')) = date('now')
AND date(datetime(end_time/1000, 'unixepoch', 'localtime')) = date('now')
2)
SELECT end_time-strftime('%s','now','start of day','utc')*1000 FROM duration_logs
WHERE date(datetime(start_time/1000, 'unixepoch', 'localtime')) != date('now')
AND date(datetime(end_time/1000, 'unixepoch', 'localtime')) = date('now')
3)分割の2番目とは逆の開始時刻
3つの期間の合計私はその日の期間を得ることができます。
ただし、指定された日付でこれを時間で分割する必要があります。具体的には、グラフ上にプロットし、最も忙しい時間を示します。
私はそれを行う方法がちょっとありません。誰かが正しい方向に私を導くことができますか?
EDIT:ここでの主な問題は、期間が複数時間である場合の期間を含めることです。たとえば、start_timeは12:30:00、end_timeは13:30:00です。次に、12-13時間は30分、13-14は30分を含める必要があります。
すべての時間に行を取得するには、24時間すべての別のテーブルを作成し、それをログテーブルと結合します。 –
@ CL。だから、私が理解したことは、両方のテーブルにログオンする必要があるということですか? – kirtan403
いいえ。他の表には正確に24行が含まれています。 –