プログラミングマガジン

プログラミングを中心にIT技術をできるだけわかりやすくまとめます。

  • ホーム
  • Python
  • 【Python】日時関連
 
 
     
  • サーバー言語  
    • Python
    • Ruby
    • PHP
    • SQL
  •  
  • インフラ  
       
    • AWS
    •  
    • 基本
    • Git
  • Web
       
    • Web開発
    • JavaScript
    • Vue.js
    • React
  •  
  • 設計  
       
    • 実装設計
    • DB設計
  • 問い合わせ
  

【Python】日時関連

06.17

  • miyabisan2
  • コメントを書く

この記事は1分で読めます

datetimeモジュール

Pythonで日付と時間を操作する場合に使います。

日付関連

1
2
3
4
5
6
7
8
from datetime import date
 
t = date.today()
print(t) # 2023-06-17
print(t.year) # 2023
print(t.month) # 06
print(t.day) # 17
print(t.weekday()) # 5:曜日が帰る。

date()は日付を扱うためのモジュールになります。

日付を指定して作る。

1
2
t2 = date(2023,5,12)
print(t2) # 2023-05-12

時間関連

1
2
3
4
5
6
7
from datetime import time
t = time(12,15,30,0)
print(t) # 12:15:30
print(t.hour) # 12
print(t.minute) # 15
print(t.second) # 30
print(t.microsecond) # 0

日時をどちらも扱う

1
2
3
4
5
6
7
from datetime import datetime
print(datetime.now()) # 2023-06-17 16:00:30.484809
n = datetime.now()
print(n.year)
print(n.hour)
t = datetime(2023,6,18,12,30,15,4)
print(t) # 2023-06-18 12:30:15.000004

datetimeモジュールはdateモジュールもtimeモジュールもどちらのメソッドも使うことが可能です。

フォーマット

1
now.strftime('%Y%m%d_%H%M%S') # 20230629_220507
%Y西暦4桁
%y西暦2桁
%m月
%d日
%H時間
%M分
%S秒

日数を計算

1
2
3
4
d1 = datetime(2023,6,18)
d2 = datetime(1987,6,18)
result = d1 - d2
print(result.days) # 13149

datetimeオブジェクトに日数を指定してあげて引き算すれば求めることができます。この差分は「timedeltaオブジェクト」と呼びます。

日数を進める

1
2
3
from datetime import datetime,timedelta
d = datetime(2023,6,18)
print(d + timedelta(days=10)) # 2023-06-28 00:00:00

timedeltaオブジェクトをそのまま足してあげれば足した日付を取得できます。

タイムゾーンについて

datetimeオブジェクトを使った場合は今使っているPCのタイムゾーンがそのまま反映されて取得されます。(日本のタイムゾーンに指定しているPCであれば日本の日時が取得できます。)

ただ、サーバーで動かしたいと考えている場合はサーバーが日本ではない場合もあるのでどのタイムゾーンの日時を取得するか明示的に指定してあげる必要がでてきます。

1
2
3
4
from datetime import datetime,timedelta,timezone
JST = timezone(timedelta(hours=+9))
t = datetime(2023,6,18,12,tzinfo=JST)
print(t) # 2023-06-18 12:00:00+09:00

祝日かの判定

日付が祝日かどうかの判定はjpholidayというライブラリを使います。Python標準ではないのでpipインストールしてあげる必要があります。

ただ、祝日は年によって変化するものなのでこのライブラリを使う場合は必ず最新化してから使うようにしましょう。

スポンサーリンク
  • 2023 06.17
  • miyabisan2
  • コメントを書く
  • Python
  • Tweets Twitter
  • このエントリーをはてなブックマークに追加
  • LINEで送る

関連記事

  1. 2018 06.18

    【Python】基礎知識(言語の特徴、フレームワーク)

  2. 2023 06.22

    【Python】Tkinterについて

  3. 2023 06.09

    【Python】Scrapy Item、Item Loader、Item pipelineの基本

  4. 2023 05.28

    【Python】「BeautifulSoup」について

  5. 2023 06.10

    【Python】scrapyからSQLite3へデータを保存するし、確認する。

  6. 2023 06.10

    【Python】ScrapyのImagePipelineの使い方

  • コメント ( 0 )
  • トラックバック ( 0 )
  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

返信をキャンセルする。

【Python】WindowsでAnacondaを使っ…

【副業】coconala(ココナラ)の基本、基本戦略な…

RETURN TOP

著者プロフィール

エンジニア歴10年で過去に業務系、Webデザイン、インフラ系なども経験あります。現在はWeb系でフロントエンド開発中心です。

詳細なプロフィールはこちら

スポンサーリンク

カテゴリー

  • Android
  • AngularJS
  • API
  • AWS
  • C++
  • CSS
  • cursor
  • C言語
  • DDD
  • DevOps
  • Django
  • Docker
  • Figma
  • Git
  • GitLab
  • GraphQL
  • gRPC
  • Hasura
  • Java
  • JavaScript
  • Kubernetes
  • Laravel
  • linux
  • MySQL
  • Next.js
  • nginx
  • Node.js
  • NoSQL
  • Nuxt.js
  • Oracle
  • PHP
  • Python
  • React
  • Redux
  • Rspec
  • Ruby
  • Ruby on Rails
  • Sass
  • Spring Framework
  • SQL
  • TypeScript
  • Unity
  • Vue.js
  • Webサービス開発
  • Webデザイン
  • Web技術
  • インフラ
  • オブジェクト指向
  • システム開発
  • セキュリティ
  • その他
  • データベース
  • デザインパターン
  • テスト
  • ネットワーク
  • プログラミング全般
  • マイクロサービス
  • マイクロソフト系技術
  • マルチメディア
  • リファクタリング
  • 副業
  • 未分類
  • 業務知識
  • 生成AI
  • 設計
  • 関数型言語
RETURN TOP

Copyright ©  プログラミングマガジン | プライバシーポリシー