時刻処理は、現在の日時の取得、今日の日付の取得、明日/N 日前の取得、その日の開始時刻と終了時刻 (00:00:00 23:59) の取得など、日々の開発で最も一般的な要件です。 :59)、2 つの日時間の時差を取得し、今週/今月/先月などの最後の日を取得します。これらの変換は面倒で覚えるのが難しいと思われるため、今日は Python の時間処理についてまとめます。
原則: datetime を中心、開始点または経由地として取り、それをターゲット オブジェクトに変換し、ほとんどのビジネス シナリオで必要な日付変換処理をカバーします
手順:
1. 複数のオブジェクトとその関係をマスターします
2. 各種類のオブジェクトの基本的な操作方法を理解する
3. 変換関係による変換
Datetime は日付と時刻の組み合わせであり、日付と時刻のすべての情報が含まれます。
関数のプロトタイプは次のとおりです:
datetime (年、月、日[ 、時[ 、分[ 、秒[、マイクロ秒[、tzinfo] ] ] ] )
各パラメータの意味は次と同じです。日時の場合 コンストラクタと同様にパラメータの値の範囲に注意してください。
例:
1. datetime オブジェクトを取得します
コードは次のとおりです:
import datetime now = datetime.datetime.now() #输出:datetime.datetime(2016, 11, 26, 8, 34, 30, 876359)
2. タイムスタンプ (タイムスタンプ) を取得します
タイムスタンプは 1970 年 1 月 1 日 (00:00:00 GMT) からの秒数です。 ) 番号。 Unix タイムスタンプとも呼ばれます。
コードは次のとおりです:
import time time.time() #输出:1480120686.733905
3. 時刻タプル(タプル)の取得
4. 時刻文字列(文字列)の取得
文字列形式パラメータリスト:
datetime(形式)%a: 週の省略形。たとえば、水曜日は Web
%A: 今週の文字全体です。たとえば、水曜日は Wednesday
%b: 月の省略形です。たとえば、4 月は Apr
%B: 満月です。たとえば、4 月は April です
%c: 日付と時刻の文字列表現。 (例: 04/07/10 10:43:39)
%d: 今月の日数 (月の日付)
%f: マイクロ秒 (範囲 [0,999999])
% H:時間 (24 時間制、[0, 23])
%I: 時間 (12 時間制、[0, 11])
%j: 年間の日数 [001,366] (年間通算日) ) )
%m: 月 ([01,12])
%M: 分 ([00,59])
%p: AM または PM
%S: 秒 (範囲は [00,61]、なぜ [ 00 , 59]、Python マニュアルを参照してください~_~)
%U: 現在の年の週数 (現在の年の週数)、日曜日が週の最初の日です
%w:今週の今日の日数、範囲は [0 , 6]、6 は日曜日を意味します
%W: 年の週番号 (その年の週の番号)、月曜日が週の最初の日です
%x: 日付文字列 (例: 04/07/10)
%X: 時刻文字列 (例: 10:43:39)
%y: 2 桁で表される年
%Y: 4 桁で表される年
% z: UTC 時間との間隔 (現地時間の場合、空の文字列を返します)
%Z: タイムゾーン名 (現地時間の場合、空の文字列を返します)
%%: %% =>コードは次のとおりです:
import time time.localtime() #输出:time.struct_time(tm_year=2016, tm_mon=11, tm_mday=26, tm_hour=8, tm_min=39, tm_sec=33, tm_wday=5, tm_yday=331, tm_isdst=0)
code 次のとおりです:
import datetime datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") '2016-11-26 08:40:39'
6. 現在の日付を取得するコード
は次のとおりです:
import datetime datetime.datetime.now().date() datetime.date(2016, 11, 26)
7. 取得するコード明日/前 N 日
明日
は次のとおりです:
import datetime datetime.date.today() datetime.date(2016, 11, 26)
2 日前
コードは次のとおりです:
import datetime datetime.date.today() + datetime.timedelta(days=1) datetime.date(2016, 11, 27)
1 日の開始時刻と終了時刻を取得します (00:00)。 :00 23:59:59)
コードは次のとおりです:
import datetime >>> datetime.datetime.now() datetime.datetime(2016, 11, 26, 8, 42, 59, 665368) >>> datetime.datetime.now() - datetime.timedelta(days=3) datetime.datetime(2016, 11, 24, 8, 43, 14, 696948)
9. 2 つの日時間の時差を取得します
コードは次のとおりです:
import datetime datetime.datetime.combine(datetime.date.today(), datetime.time.min) datetime.datetime(2016, 11, 26, 0, 0) datetime.datetime.combine(datetime.date.today(), datetime.time.max) datetime.datetime(2016, 11, 26, 23, 59, 59, 999999)
10。今週/今月/先月
今週
コードは次のとおりです:
import datetime (datetime.datetime(2016,12,13,12,0,0) - datetime.datetime.now()).total_seconds() 1480506.809658
今月
コードは次のとおりです:
import datetime today = datetime.date.today() #输出: datetime.date(2016, 11, 26) sunday = today + datetime.timedelta(6 - today.weekday()) #输出:datetime.date(2016, 11, 27)
11.新年をまたぐ可能性があります)
コードは次のとおりです:
import calendar today = datetime.date.today() last_day_num = calendar.monthrange(today.year, today.month) last_day = datetime.date(today.year, today.month, last_day_num) #输出:datetime.date(2016, 11, 30)
その他の使用例:
コードは次のとおりです:
import datetime today = datetime.date.today() first = datetime.date(day=1, month=today.month, year=today.year) lastMonth = first - datetime.timedelta(days=1) #输出:datetime.date(2016, 10, 31)
上記は、Python の時間取得と変換の知識をまとめたものです。編集者 皆様のお役に立てば幸いです。ご質問がございましたら、メッセージを残してください。すぐに返信させていただきます。また、PHP 中国語 Web サイトをサポートしていただきありがとうございます。
Python 時間の取得と変換の知識まとめ関連記事の詳細については、PHP 中国語 Web サイトに注目してください。