需要:今日は、たとえば、最初、自動変換の始まりである場合には、フォーマットを指定した時刻より前の時刻を取得します:
入力時間: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) 戻り昨日