パソコン仕事5倍塾
35,000人を指導した東大卒・元日本IBM社内講師が直伝
MENU
ゆみこさんの投稿
(投稿ID: 5478)
小川 慶一さんのコメント
(コメントID: 8150)
from datetime import timedelta td1 = timedelta(days=1) print(type(td1)) # <class 'datetime.timedelta'> print(td1) # 1 day, 0:00:00 td2 = timedelta(hours=25) print(type(td2)) # <class 'datetime.timedelta'> print(td2) # 1 day, 1:00:00 td3 = timedelta(days=1, hours=1) print(type(td3)) # <class 'datetime.timedelta'> print(td3) # 1 day, 1:00:00 td4 = timedelta(hours=240) print(type(td4)) # <class 'datetime.timedelta'> print(td4) # 10 days, 0:00:00
ゆみこさんのコメント
(コメントID: 8155)
(コメントID: 8156)
(コメントID: 8158)
from datetime import timedelta td1 = timedelta(days=1) print(type(td1)) # <class 'datetime.timedelta'> print(td1) # 1 day, 0:00:00
Captcha:
たった1ヶ月で人生が劇的に変わりました
佐藤信さん
役員クラスの方から高い評価を受けるようになりました。
佐賀県 - 岩本徹さん
今までまったく知らなかったショートカットキーを使いまくっています。
東京都 - 鷹觜慶さん
年齢60才間近、営業で外回りの時間が多い私でも退社時間が1-2時間程度早くなりました。
東京都 - 宗内隆明さん
受講前もすでにパソコン得意でしたが、そんな私でも受講して本当に良かったと思えた講座です。
東京都 - 佐伯とも子さん
ここまで包括的に仕事に役立つ深い学びを受けれた講座は初めてでした
東京都 - 飯田倫子さん
2024年11月20日 21:28
2024年10月27日 08:02
2024年10月26日 04:43
2024年10月22日 04:45
2024年10月21日 04:48
2024年11月20日 21:41
2024年11月14日 17:04
2024年11月13日 18:12
2024年11月13日 18:11
2022年02月24日 10:59
表示できる投稿はありません。
この学習サイトの教材制作、サポート、システム開発をすべてやっています。
2022年02月02日 00:00
2022年02月02日 03:00
2022年02月02日 06:00
2022年02月02日 09:00
2022年02月02日 12:00
2024年10月21日 17:30
2024年10月18日 17:00
2024年10月17日 17:30
2024年10月18日 16:45
2024年10月17日 07:30
2024年11月17日 09:51
2024年11月15日 16:41
2024年11月15日 13:07
2024年11月15日 13:05
2024年10月12日 08:25
ゆみこさんの投稿
(投稿ID: 5478)
># 時刻の情報は持たないので、以下の演算は無効です
>today_three_am = today + timedelta(hours=3)
私は動画内のご説明を「hoursの値に限らず無視される」という意味で受け取っていました。
ですが、「timedelta(hours=3)」を「timedelta(hours=240)」にして試したところ、10日プラスされました。
小川先生が動画で説明されていたのは、「timedelta(hours=3)」のように「hoursの値が小さいときに限った」お話だったのでしょうか?
小川 慶一さんのコメント
(コメントID: 8150)
これは、時間差を表現するためのオブジェクトです。
ここが分かれば、あとは、「エクセル VBA で Integer型や Long 型に 0.3 とか 3.14 のような少数を含めた値を加算しようとしたらどうなるか」といった議論と同じです。
datetime.date型にdatetime.timedelta型のオブジェクトを加算しても、日付部分だけが取り込まれ、時刻部分は無視されます。
datetime.date型は日付のみを表現するためのものであり、時刻情報を持たないからです。
この挙動は、datetime.date型が日付のみを扱うためのものであり、時刻を含む値を加算する演算を意図していないからです。
ですから、時刻を含む値を加算する演算は設計上の問題があります。
つまり datetime.timedelta オブジェクト生成時に hours を引数とするようなコードがそもそも不適切なので、このような演算が含まれないよう、設計に十分注意してください。
ゆみこさんのコメント
(コメントID: 8155)
今回私が試したコードは、結果的にはdaysの演算だったということで理解しました。
>時刻を含む値を加算する演算は設計上の問題があります。
今回はあえて試しましたが、この点も理解しているつもりですので、きちんと注意するようにします。
datetime周り以外のことで、2点追加質問をさせてください。
<追加質問1>
こちらのサイト内の投稿でコードを書く場合は、バッククオート(```)で括るとコードブロックになるのでしょうか?
(少し調べたのですが、小川先生のサイト内での仕様について書いてあるところが見つけられませんでした。
試せる場所がないので、ここで試します)
```
from datetime import timedelta
```
<追加質問2>
今回の返信で書いていただいたサンプルコードについてです。
行コメント部分は、コンソールに出力されたものをコピー&ペーストして書いていただいた流れでしょうか?
(サンプルコード、Pycharm上で実行しました。
今回いただいたサンプルコードを拝見し、自分用のサンプルコードもできるだけきちんとした形で書くようにしたいと思いました)
小川 慶一さんのコメント
(コメントID: 8156)
プログラムをコードハイライト表示するには?のセクションを読んでみてください。
https://forum.pc5bai.com/column/tips_to_post/#code-highlight
> 行コメント部分は、コンソールに出力されたものをコピー&ペーストして書いていただいた流れでしょうか?
ですね。
ゆみこさんのコメント
(コメントID: 8158)
申し訳ありません。
Python版で試します。
今回は以上で大丈夫です。
投稿も実行も、少しずつ慣れていこうと思います。
どうもありがとうございました。