スクリプトのお勉強

Python3/ある日付から日付までの月/日/時間ごとの時刻を算出する

投稿日:

小ネタです。

要するに、時刻A と 時刻B を指定したときの、各時間間隔での時刻取得したかったです。

当初はdateutilを使う方法でなく、自前で実装しようと思ったのですが、面倒なことに気づきました。なのであきらめて、dateutilを使用しています。

なんとなくgoogle Colaboratoryで計算してみました

以下は、google Colaboratoryを使ってみました。GPU使えるそうですがあまり関係なく、サンプル用に使っています。

以下がdateutilの例です。

from dateutil.parser import parse
from dateutil.rrule import rrule, MONTHLY, DAILY , HOURLY

months = list(rrule(MONTHLY, dtstart=parse("20200101T000000"),
                                                           until=parse("20200902T000000")))
days = list(rrule(DAILY, dtstart=parse("20200101T000000"),
                                            until=parse("20200902T000000")))
hours = list(rrule(HOURLY, dtstart=parse("20200822T090000"),
                                                   until=parse("20200923T090000")))

print(months[0])
print(months[1])
print(months[-2])
print(months[-1])

print(days[0])
print(days[1])
print(days[-2])
print(days[-1])

print(hours[0])
print(hours[1])
print(hours[-2])
print(hours[-1])

結果は以下の通りです。

2020-01-01 00:00:00 # 月ごと
2020-02-01 00:00:00
2020-08-01 00:00:00
2020-09-01 00:00:00
2020-01-01 00:00:00 # 日ごと
2020-01-02 00:00:00
2020-09-01 00:00:00
2020-09-02 00:00:00
2020-08-22 09:00:00 # 時間ごと
2020-08-22 10:00:00
2020-09-23 08:00:00
2020-09-23 09:00:00

月ごとの最後をあえて9/2にしてみたのですが、戻ってくるのは、9/2ではなく、
9/1が戻ってきました。まぁそういうものということで。

-スクリプトのお勉強

執筆者:

関連記事

顔画像のモザイク方法(python + OpenCV + face_recognition)

Python3での顔画像モザイク方法 python3での顔画像モザイクの方法を調べてみました。 仕事とは関係なく、単なる趣味だったりしますが。。 この内容で、Djangoと統合する予定です。 Open …

神奈川県横浜市神奈川区のワクチン接種地図作った

作ってみた。東白楽駅を真ん中にしてみました。なんとなく真ん中な感じなので。 データ元 以下のテキストデータからゴニョゴニョしてます。 https://www.city.yokohama.lg.jp/k …

PyWebIOでform 入力+ REST API呼び出しを作ってみる

仕事柄、簡単なWebアプリを作りたいと思うことはよくあり、その場合はその場で直せるスクリプトで書きたいとよく思うものです。 すごーく簡単なフォームを非常に簡単に使いたいので、まずは簡単に作れるフレーム …

Nuxt.js + Element + Responderでのtableサンプル作成

1. はじめに 最近、Webアプリケーションを作成する仕事が、少しずつですがあります。その際に使用するのは、殆どの場合「テーブル」です。 素のtableタグを駆使して作成した場合、テーブル内のセルにも …

pipenv + Apache + Django起動設定

仕事でwebアプリケーションを作成しています。 Djangoで作成し、webサーバをApache、環境をpipenvで設定したpython3環境上で動かす予定です。 Apacheが起動するまでに、苦労 …

    google オプトアウト Click here to opt-out.