時間のフォーマット変換Pythonの出会いピットを覚えておいてください

需要:今日は、たとえば、最初、自動変換の始まりである場合には、フォーマットを指定した時刻より前の時刻を取得します:
入力時間:2019年6月27日23時59分59秒
出力時間は次のとおりです。2019-06-2623 :59:59

日時のさまざまなを使用する前に、時間の直接減算86400に、その後、当初、他の条件の始まりを決定するタイムスタンプを考える必要があり、その後に指定されたフォーマットに変換

いくつかの単語の男は、直接コードに、言いました:

DEF get_yesterdayTime(provided_time):
    t_providedTime = time.strptime(provided_time、' %Y-%M-%D%H:%のM:%のS ' 
    timeStampに = INT(はtime.mktime(t_providedTime))
    yesterday_stamp =タイムスタンプ86400 
    昨日 = time.strftime(' %Y-%M-%D%H:%のM:%S ' 、time.gmtime(yesterday_stamp))
     戻り昨日

涙の結果は、実際に、2019年6月26日午後03時59分59秒を走りました

私は、予想される時間と、なぜ同じではないでしょうかしらと、私は、タイムスタンプ変換に現在の時刻を配置し、フォーマットされた時に逆変換します

DEF get_yesterdayTime():
    昨日のタイムスタンプを取得 
    yesterday_stamp = INT(はtime.mktime(time.localtime())) - 86400 #は昨日取得timetuple 
    yesterday_t = time.gmtime(yesterday_stamp)
    昨日フォーマットされた時刻を取得 
    昨日=時間.strftime(' %Y-M-%のD %% H:%のM:%S ' 、yesterday_t)
     戻り昨日
    

最終的にtime.gmtimeを発見した問題があり、私はコードのすべての行をチェックするために始めて以来、8時間の現在の時刻よりも時間差を取得します。

gmtimeははUTC時刻タプルを返し、我々は東8地区あり、まだ何も持っていないソースを見て以上のことを

次のように改正:

DEF get_yesterdayTime():
    、最後のタイムスタンプを取得します 
    yesterday_stamp = INT(はtime.mktime(time.localtime())) - 86400 + 28800 昨日取得timetuple 
    yesterday_t = time.gmtime(yesterday_stamp)
    フォーマットされた最後の時間を取得 
    昨日time.strftime =(' %Y-M-%のD %% H:%のM:%S ' 、yesterday_t)
     戻り昨日
    

 

おすすめ

転載: www.cnblogs.com/stevenxu123/p/11112242.html