値のタイムスタンプ (Unix エポック時間) を持つ辞書を使用してデータセットを作成しました。午前 0 時から 9 時 30 分までの任意の日に何らかの操作を行う汎用コードを作成しようとしています。その後、毎時 (10:30、11:30 など)、4:00 まで何かを出力します。午前 4 時から午前 0 時 1 分前までは、午前 0 時から 9 時 30 分までの運用と同様の運用を行います。
このコードは、歴史的に何日、何ヶ月、何年も実行されています。幸いなことに、すべてのファイルは単一であるため、このタイムスタンプ値の時間と分だけを気にします。datetime.hour と datetime.minutes を使用しようとしましたが、うまくいきません。そして、timedeltaを作成する運がありません。
したがって、データは次のようになります。
{'タイムスタンプ': 1336993535623,'値':5}
{'タイムスタンプ': 1336981068031、'値':6}
私がやっていることは、基本的に次のようなものです。
time1=obs.get('タイムスタンプ',0)
dt=datetime.datetime.fromtimestamp(int(time1)/1000)
obstimestamp=dt.strftime("%A, %d. %B %Y %I:%M%p")
次に、次のようなものを使用しようとしています:
if obstimestamp.hour < 9 & obstimestamp.minute<30 do something しかし、8:40 は 9:30 よりも小さいため、これは機能しません。
したがって、問題は 2 つあります。1 つ目は、設定された間隔でこの「タイムスタンプ」値をループする方法です。
2 つ目は、Unix タイムスタンプを使用して同じことを行うにはどうすればよいかということです。(そうすれば、より効率的で高速になると思います)。
どんな助けでも大歓迎です。少し早いですがお礼を。