[解決済み】ライブラリを使わずにpythonでdatetimeをカスタム月単位でインクリメントする方法【重複あり
2022-04-02 17:28:45
質問
datetime 値の月をインクリメントする必要があります。
next_month = datetime.datetime(mydate.year, mydate.month+1, 1)
月が12のとき、13になり、エラー "月は1..12"が発生します。(年がインクリメントされると思ったのですが)
timedeltaを使いたかったのですが、monthの引数を取らないのです。 そこで リラティブデルタ pythonパッケージですが、このためだけにインストールするのはちょっと...。 また ストロートタイム .
time = strtotime(str(mydate));
next_month = date("Y-m-d", strtotime("+1 month", time));
datetimeからstr、そしてtime、さらにdatetimeへの変換はしたくないので、やはりこれもライブラリです
どなたか良い、そして シンプル タイムデルタを使用するような解決策を教えてください。
どのように解決するのですか?
編集 - 翌月の日数が少ない場合、日付の切り捨てが必要とのご意見を踏まえ、解決策をご紹介します。
import datetime
import calendar
def add_months(sourcedate, months):
month = sourcedate.month - 1 + months
year = sourcedate.year + month // 12
month = month % 12 + 1
day = min(sourcedate.day, calendar.monthrange(year,month)[1])
return datetime.date(year, month, day)
使用中です。
>>> somedate = datetime.date.today()
>>> somedate
datetime.date(2010, 11, 9)
>>> add_months(somedate,1)
datetime.date(2010, 12, 9)
>>> add_months(somedate,23)
datetime.date(2012, 10, 9)
>>> otherdate = datetime.date(2010,10,31)
>>> add_months(otherdate,1)
datetime.date(2010, 11, 30)
また、時間、分、秒にこだわらないのであれば
date
よりも
datetime
. もし、時間、分、秒を気にするのであれば、私のコードを修正する必要があります。
datetime
で、時間、分、秒をソースから結果にコピーします。
関連
-
PyQt5はユーザーログインGUIインターフェースとログイン後のジャンプを実装しています。
-
パッケージングツールPyinstallerの使用と落とし穴の回避
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] Pythonで2つのリストを連結する方法は?
-
[解決済み] ファイルのコピー方法について教えてください。
-
[解決済み] Pythonでファイルやフォルダを削除する方法は?
-
[解決済み] 改行やスペースを入れずに印刷する方法
-
[解決済み] DateTime型の誕生日から年齢を計算するにはどうしたらいいですか?
-
[解決済み] SQL Server の DateTime データ型から日付だけを返す方法
-
[解決済み】ネストされたディレクトリを安全に作成するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Python関数の高度な応用を解説
-
python call matlab メソッドの詳細
-
Pythonコードの可読性を向上させるツール「pycodestyle」の使い方を詳しく解説します
-
風力制御におけるKS原理を深く理解するためのpythonアルゴリズム
-
Python 入出力と高次代入の基礎知識
-
[解決済み】TypeError: unhashable type: 'numpy.ndarray'.
-
[解決済み】お使いのCPUは、このTensorFlowバイナリが使用するようにコンパイルされていない命令をサポートしています。AVX AVX2
-
[解決済み】RuntimeWarning: 割り算で無効な値が発生しました。
-
[解決済み】Python Error: "ValueError: need more than 1 value to unpack" (バリューエラー:解凍に1つ以上の値が必要です
-
[解決済み】「OverflowError: Python int too large to convert to C long" on windows but not mac