2017-10-24 18 views
0

エポック時間が1日、3日、および5日未満であるかどうかを確認する必要があります。これはうまくいくようですが、Pythonではあまりにも複雑です。それは単純化できますか?Python 3、エポック時間が時間枠内にあるかどうかを確認します。

import datetime 
feed_time = 1508522102 
d1 = round((datetime.datetime.now() - datetime.timedelta(1)).timestamp()) 
d2 = round((datetime.datetime.now() - datetime.timedelta(3)).timestamp()) 
d3 = round((datetime.datetime.now() - datetime.timedelta(5)).timestamp()) 
if feed_time > d1: 
    print("less than one day") 
    # do something if feed_time is less than 1 day 
if feed_time > d2: 
    print("less than three days") 
    # do something if feed_time is less than 3 days 
if feed_time > d3: 
    print("less than five days") 
    # do something if feed_time is less than 5 days 

答えて

0

確か;時間遅れをリストに入れます。索引を使用してリストをループします。正しい出力レベルを見つけたら、別のリストから対応するメッセージを印刷します。

check = [datetime.timedelta(1)).timestamp(), 
     datetime.timedelta(3)).timestamp(), 
     datetime.timedelta(5)).timestamp()] 

message = ["one day", "three days", "five days"] 

for day in range(3): 
    if feed_time > round(datetime.datetime.now() - check[day]): 
     print message[day] 
     break 

このようなものはありますか?

+0

私はより明確にすべきだった、私はd1を見つける方法は、単純なことのための多くのタイピングのように感じる。このようなサウンドは、エポックタイムオフセットを見つけるのにまだ最適な方法ですか? –

0

簡単にtime.now() - feed_timeとし、それをx*24*60*60と比較することができます。

DSTを考慮する場合は、より複雑です。

関連する問題