-
Pythonでうるう年かどうかを判定する方法|calendar.isleap()の使い方
Pythonでは、標準ライブラリのcalendarモジュールを使うことで、指定した年がうるう年(閏年)かどうかを簡単に判定できます。calendarモジュールにはisleap(year)という専用の関数が用意されており、引数に渡した年がうるう年であればTrue、そうでなければFalseを返します。サンプルコードimport calendar print(calendar.isleap(1995)) print(calendar.isleap(2008)) print(calendar.isleap(2004))実行結果上記のコードを実行すると、次のような出力が得られます。False True
-
Pythonで週の最初の曜日を取得・設定する方法
Pythonで週の最初の曜日を取得するには?Pythonでは、標準ライブラリのcalendarモジュールを使うことで、週の最初の曜日(週の開始曜日)を簡単に取得したり、変更したりすることができます。firstweekday()関数とはcalendarモジュールには、現在設定されている「週の開始曜日」を返す firstweekday() という関数が用意されています。戻り値は整数で、月曜日を0として数えます。たとえば「6」が返された場合は、週の開始曜日が日曜日に設定されていることを意味します。サンプルコードimport calendar# 現在の週の開始曜日を取得print(calendar.f
-
Pythonで特定の年・月のカレンダーを表示する方法
Pythonでは、標準ライブラリのcalendarモジュールを使うことで、指定した年と月のカレンダーを簡単に取得・表示できます。calendar.month()関数に「年」と「月」を引数として渡すだけで、その月のカレンダーがテキスト形式の文字列として返されます。コード例以下は、2017年11月のカレンダーを表示するシンプルな例です。import calendar y = 2017 # 年 m = 11 # 月 print(calendar.month(y, m))実行結果このコードを実行すると、次のような出力が得られます。 November 2017 Mo Tu We Th F
-
Pythonで指定範囲内のうるう日の合計数を取得する方法
Pythonの標準ライブラリ「calendar」には、指定した範囲内の年に含まれるうるう日の合計数を求めるための専用関数が用意されています。それが calendar.leapdays(y1, y2) です。この関数は、範囲 [y1, y2) 内の年に含まれるうるう日の総数を返します。つまり、開始年 y1 は範囲に含まれますが、終了年 y2 自体は含まれない点に注意してください。うるう日は、4で割り切れる年(ただし100で割り切れかつ400で割り切れない年を除く)に発生します。使用例以下の例では、1995年から2018年までの範囲内のうるう日の合計数を取得しています。import calenda
-
Pythonで2つの日付の間の日数を計算する方法を解説
Pythonでは、シンプルな日付演算を使うことで、2つの日付の間の日数を簡単に計算できます。日数の差を求めたい2つの日付を定義し、それらを引き算すると timedelta オブジェクトが得られます。このオブジェクトの days プロパティを参照することで、目的の日数を取得できます。基本的な手順datetime モジュールから date クラスをインポートします。差を求めたい2つの日付を date オブジェクトとして定義します。2つの日付を引き算して timedelta オブジェクトを生成します。days プロパティの値を出力します。サンプルコードfrom datetime import dat
-
Pythonで月の最終日を取得する方法【calendarモジュールの使い方】
Pythonでは、標準ライブラリのcalendarモジュールを使うことで、指定した月の最終日(末日)を簡単に取得できます。calendarモジュールにはmonthrange(year, month)という便利なメソッドが用意されており、指定した年・月の「1日の曜日」と「その月の日数」をタプルで返します。この情報を組み合わせれば、月の最終日の日付や曜日を自在に求めることが可能です。 monthrange()メソッドの基本 calendar.monthrange(year, month)は、以下の2つの値を返します。 第1戻り値:その月の1日の曜日(0が日曜日、6が土曜日) 第2戻り値:その月の
-
Pythonで週の最初の曜日を設定する方法(calendar.setfirstweekdayの使い方)
Pythonでは、標準ライブラリのcalendarモジュールを使うことで、カレンダー表示における週の最初の曜日を自由に変更できます。setfirstweekday()関数に曜日のコードを渡すと、その曜日が週の開始日として設定されます。なお、setfirstweekday()はprmonthなどの表示系の関数にのみ影響する点に注意してください。 サンプルコード import calendar print(calendar.prmonth(2018, 1)) calendar.setfirstweekday(calendar.SUNDAY) print(calendar.prmonth(2018,
-
Pythonで日付を読みやすい形式で出力する方法【str()とrepr()の違いを解説】
print関数で日付を直接出力すれば、普段どおりの読みやすい形式で日付が表示されます。 例 import datetime today = datetime.date.today() print(today) 出力 次のような結果が得られます。 2018-01-02 これはまさに期待どおりの結果です。ところが、この日付をリストに追加してから表示しようとすると、話が変わってきます。 例 import datetime my_list = [] today = datetime.date.today() my_list.append(today) print(my_list) 出力 今度は次のよう
-
Pythonで日付(datetime)をUnixタイムスタンプに変換する方法
Pythonでは、標準ライブラリのdatetimeモジュールを使って、日時オブジェクトをUnixタイムスタンプ(UTCタイムスタンプ)に変換できます。すでにUTCのdatetimeオブジェクトを持っている場合は、timestamp()メソッドを呼び出すだけで、エポック(1970年1月1日 0時0分0秒 UTC)からの経過秒数を取得できます。 一方、datetimeオブジェクトがローカルタイムゾーンの状態になっている場合は、まずreplace()メソッドなどでタイムゾーン情報を明示的に設定してから、タイムスタンプを取得する必要があります。タイムゾーン情報がないまま変換すると、意図しない値になる可
-
Pythonで日付文字列のリストを並べ替える方法
Pythonで日付形式の文字列が格納されたリストを正しく並べ替えるには、sort関数を使うだけでは不十分です。日付文字列は辞書順に比較されるため、そのままソートすると意図した順序になりません。そこで、各日付文字列をdatetimeオブジェクトに変換し、その値を基準にソートする必要があります。具体的には、sort関数のkey引数を利用します。key引数にはラムダ式(無名関数)を渡し、その中でdatetime.strptime()を使って各日付文字列をdatetimeオブジェクトに変換します。こうすることで、Pythonはこのdatetimeオブジェクト同士を比較してリストを時系列順に並べ替えてく
-
Pythonで日付をJSON形式(ISO 8601)に変換する方法を解説
実は、日付に対する標準的なJSON形式は存在しません。ただし、JavaScriptには標準の日付形式があり、人間が読み取りやすく、文字列として正しくソートでき、小数秒(ミリ秒以下の精度で時系列を復元するのに役立ちます)を含み、さらにISO 8601規格に準拠しているという特徴があります。Pythonの日付をこのJavaScriptの日付形式に変換するには、strftime関数を使用します。その後、この日付を必要とするクライアント側でデシリアライズ(解析)すればよいのです。なお、Python 3でISO 8601形式の日付文字列を取得したい場合は、isoformat関数を使うだけで実現できます。
-
Pythonで先週の水曜日の日付オブジェクトを取得する方法
Pythonでは、簡単な日付計算を行うことで、先週の水曜日にあたる日付オブジェクトを取得できます。今日が何曜日であっても、weekday()メソッドの値から2(水曜日を表す数値)を引き、その結果を7で割った余りを求めれば、先週の水曜日までの日数が分かります。Pythonでは、月曜日が0、火曜日が1、水曜日が2というように、曜日に対応する数値が0〜6で返されます。この性質を利用することで、どの曜日が基準になっても正しく先週の水曜日を算出できます。コード例from datetime import date from datetime import timedelta today = date.t
-
Pythonで日付文字列(mm/dd/yyyy)をdatetimeに変換する方法
Pythonでは、標準ライブラリのdatetimeモジュールが提供するstrptime()関数を使うことで、文字列を日付(date)オブジェクトへ簡単に変換できます。変換の際は、「元の日付文字列」と「その文字列がどの形式で書かれているかを示すフォーマット指定子」の2つを引数として渡します。 基本的な使い方 import datetime date_str = 29/12/2017 # 日付文字列:2017年12月29日 format_str = %d/%m/%Y # フォーマット:「日/月/年」の形式 datetime_obj = datetime.datetime.strptim
-
Pythonで整数(UNIXタイムスタンプ)を日付オブジェクトに変換する方法
Pythonでは、datetimeモジュールが提供するfromtimestamp関数を使うことで、UNIXタイムスタンプ(整数値)を日付オブジェクトに変換できます。この関数はタイムスタンプを引数として受け取り、それに対応するdatetimeオブジェクトを返します。基本的な使い方以下の例では、UNIXタイムスタンプ「1500000000」をdatetimeオブジェクトに変換し、読みやすい形式の文字列として出力しています。import datetime timestamp = datetime.datetime.fromtimestamp(1500000000) print(timestamp.
-
Pythonで次の月曜日の日付を簡単に取得する方法
Pythonの標準ライブラリである datetime モジュールと timedelta オブジェクトを組み合わせれば、次の月曜日の日付を簡単に計算できます。考え方はシンプルで、以下の3ステップで求められます。1. 今日の日付を取得する2. 今週すでに経過した日数を引く(これで「今週の月曜日」の日付がわかる)3. timedelta を使って1週間(7日)を足すこれにより、次の月曜日の日付が正確に算出されます。サンプルコードimport datetimetoday = datetime.date.today()next_monday = today + datetime.timedelta(da
-
Pythonのstrftimeで「8月5日(Aug 5th)」のように日付を表示する方法
Pythonのstrftime()関数には、「1st」「2nd」「3rd」「4th」のような序数接尾辞(st・nd・rd・th)を出力するための書式指定子(ディレクティブ)は用意されていません。そのため、strftime()だけでは「Aug 5th」のような日付表記を直接生成することはできません。そこで、日にちに応じて適切な接尾辞を返す独自の関数を作成し、その結果を書式文字列と組み合わせるのが一般的な解決策です。サンプルコードfrom datetime import datetime now = datetime.now() def suffix(day): if 4 <=
-
Pythonの日付操作モジュールとは?代表的なライブラリ5選を徹底解説
Pythonでは、標準ライブラリとPyPI(Python Package Index)の両方に、日付や時刻を扱うための多彩なモジュールが用意されています。本記事では、特によく利用されている代表的なライブラリを5つ紹介します(順不同)。 datetime(標準ライブラリ) datetimeモジュールは、日付や時刻をシンプルな用途から複雑な用途まで柔軟に操作するためのクラス群を提供します。日付・時刻の演算(加減算など)もサポートしていますが、実装の重点は、出力フォーマットやデータ操作に役立つ属性の効率的な取得に置かれています。 time(標準ライブラリ) timeモジュールは、時間に関するさま
-
PythonでSQLite3データベースに日付を保存・取得する方法をわかりやすく解説
Pythonの標準ライブラリであるsqlite3モジュールを使えば、SQLite3データベースへの日付の保存と取得は非常に簡単に行えます。ポイントは、データベース接続時にdetect_types=sqlite3.PARSE_DECLTYPESオプションを指定することです。これにより、テーブル定義のカラム型(DATE型など)に基づいて、Pythonが自動的に型変換を行ってくれます。日付を挿入する際には、datetime.dateオブジェクトをそのまま渡すだけでOKです。文字列への変換などはPythonが自動的に処理してくれます。日付を保存する例まず、日付をデータベースに挿入するコードを見てみまし
-
PythonでMySQLに日付データを挿入する方法をわかりやすく解説
PythonからMySQLデータベースに日付を挿入するには、まずテーブル側の準備が必要です。挿入先のカラムは DATE 型または DATETIME 型として定義しておきましょう。 日付を文字列に変換してから挿入する MySQLに日付を登録する際は、Pythonのdatetimeオブジェクトをそのまま渡すのではなく、あらかじめ文字列形式に変換しておく必要があります。この変換には、標準ライブラリ datetime モジュールが提供する strftime() メソッドを使うのが一般的です。 コード例 from datetime import datetime now = datetime.now(
-
Pythonで日付を比較する方法をわかりやすく解説
Pythonのdateオブジェクトは、すべての比較演算子をサポートしています。そのため、datetimeモジュールを使って日付オブジェクトを作成・操作している場合は、<、>、<=、>=、== などの演算子をそのまま使用できます。これにより、入力値のバリデーションなどで日付を比較・チェックする処理が非常にシンプルに書けます。基本的な比較の例from datetime import datetime from datetime import timedelta today = datetime.today() yesterday = today - timedelta(d