2016-07-22 15 views
0

ここに私の問題があります。私は2回、私はPythonに餌を与えています.1つはESTで、もう1つはGMTです。私は両方をエポックに変換して比較する必要があります。 ESTをエポックに変換するときのようなものから、私は思ったGMTの正確なものに変換する必要があります。それはそうではありません:エポック時間と時間ゾーン

from datetime import datetime as dt,datetime,timedelta 
import time 

# EST 
date_time = '09.03.1999' + " " + "08:44:17" 
pattern = '%d.%m.%Y %H:%M:%S' 
epoch = int(time.mktime(time.strptime(date_time, pattern))) 
print epoch 

# GMT 
date_time2 = '09.03.1999' + " " + "13:44:17.000000" 
pattern2 = '%d.%m.%Y %H:%M:%S.%f' 
epoch2 = int(time.mktime(time.strptime(date_time2, pattern2))) 
print epoch2 
+0

:http://stackoverflow.com/questions/8142364/how-to-compare-は2日間 そうでなければ、このリソースは参考になるかもしれません:http://www.idiotinside.com/2015/03/14/working-with-date-and-time-python-892/ – Aif

+0

私は、 'epoch2とepoch2(epoch + 120)' – user3498593

+0

私はWiresharkでこの時間のフィルタをやっていますが、これは簡単ですエポック – user3498593

答えて

0

私はここでエポックの意味を混乱させると思います。 エポックは、1970/01/01 00:00:00から与えられた日付までの秒数を数える時間の表記です。

エポック変換はタイムゾーンを気にせず、タイムゾーン変換で実際に負のエポックタイムを持つことができます(http://www.epochconverter.com/で遊んでください)。

実際の例:私は日本に住んでいるので、私の現地時間エポック0は実際にはGMTエポックで-32400です。

in this questionのように、最初にタイムゾーンを変換してから、エポックに変換する必要があります。

ここで受け入れ答えからいくつかのコードです:あなたがそれらを比較することエポックに変換トンを必要としない

from datetime import datetime 
from dateutil import tz 

from_zone = tz.gettz('UTC') 
to_zone = tz.gettz('America/New_York') 

utc = datetime.strptime('2011-01-21 02:37:21', '%Y-%m-%d %H:%M:%S') 

# Tell the datetime object that it's in UTC time zone since 
# datetime objects are 'naive' by default 
utc = utc.replace(tzinfo=from_zone) 

# Convert time zone 
central = utc.astimezone(to_zone) 
+0

一度私は時間thを得る同じパターンで同じエフェクトを使用することもできます: 'pattern = '%d。%m。%Y%H:%M:%S' epoch = int(time.mktime(time.strptime(gmt、 pattern))) print epoch' – user3498593

+0

最後の行: 'central = ...'は '' America/New_York''が米国の東部時間帯であるため、奇妙です。中央はシカゴのためのもので、中西部のそれらの経度は –

関連する問題