3

複数行の日付を含むデータ ファイルから日付 (形式: YYYY-MM-DD HH:MM:SS) を解析します。

問題は、データにうるう秒が含まれているため、 datetimeを使用できないことです。上記の形式の文字列からdatetime.strptimeを使用した場合(したがって、日付+時間)、最後に同じ結果になるように、うるう秒(0〜60)をどのように考慮することができますか??

日付に日付を、時刻文字列に時刻を使用して結合しようとしました。それは正しい方法ですか、それとも他の方法がありますか?

前もって感謝します。

4

1 に答える 1

1

使用するtime.strptime()だけです:

#!/usr/bin/env python
import datetime as DT
import time
from calendar import timegm

utc_time_string = '2012-06-30 23:59:60'
utc_time_tuple = time.strptime(utc_time_string, "%Y-%m-%d %H:%M:%S")[:6]
utc_dt = DT.datetime(1970, 1, 1) + DT.timedelta(seconds=timegm(utc_time_tuple))
# -> datetime.datetime(2012, 7, 1, 0, 0)

入力時刻が UTC でない場合は、うるう秒をtime_tuple手動で処理できます。たとえば、うるう秒を直接渡すとdatetimeモジュールが 発生するか、間接的な (内部) 呼び出しでうるう秒に遭遇した場合にValueError暗黙のうちに切り捨てられ60ます。59

于 2016-05-18T22:06:30.680 に答える