2017-09-28 12 views
1

は、私はそうで分、秒とすることなく、DateTimeオブジェクトのうち、タイムスタンプを作っています:Python datetimeオブジェクトをタイムスタンプに変換するにはどうすればいいですか?

import datetime 
import time 
import pytz 
today_timestamp = datetime.datetime.now(pytz.timezone('Europe/Moscow')).replace(hour=0, minute=0,second=0, microsecond=0).timestamp() 

、結果として私が取得:

1506546000.0 

は、その後、私は外のタイムスタンプを作っています文字列型のオブジェクト:

str_to_time = time.strptime('28.09.17', '%d.%m.%y') 
time_to_timestamp = time.mktime(str_to_time) 

そして私が手:

1506556800.0 

今日の日付を文字列にしました。なぜこれらの数字が違うのですか?

+0

'time.tzname'をローカルに行うと、 'Europe/Moscow'タイムゾーンに相当しますか? – Jarad

答えて

0

time.strptimeは、pythonプロセスを開始したプロセスから継承したタイムゾーンを使用します。おそらく、Pythonの起動時に設定されたタイムゾーンはEurope/Moscowではなく、UTCです。 Pythonインタプリタを起動するときにTZ=UTCが設定されましたか?

today_timestamp = datetime.datetime.now(pytz.timezone('UTC')).replace(hour=0, minute=0,second=0, microsecond=0).timestamp() 
1506556800.0 
関連する問題