ホームページ  >  記事  >  バックエンド開発  >  Pythonの時間取得と変換の知識まとめ

Pythonの時間取得と変換の知識まとめ

高洛峰
高洛峰オリジナル
2017-01-12 15:30:291541ブラウズ

時刻処理は、現在の日時の取得、今日の日付の取得、明日/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)

5.date (日付)

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 サイトに注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。