5倍速!メールマガジン
外部アカウントで登録
受講生の声
新着の講座投稿
新着の講座コメント
新着のノート投稿
投稿一覧へ新着のノートコメント
表示できる投稿はありません。
サイト運営者紹介
小川 慶一講師/教材/システム開発者紹介
この学習サイトの教材制作、サポート、システム開発をすべてやっています。
表示できる投稿はありません。
この学習サイトの教材制作、サポート、システム開発をすべてやっています。
sonataさんの投稿
(投稿ID: 5554) 添付ファイルのダウンロード権限がありません
初めて質問させていただきます。
動画を視聴してからPyCharmで同じサンプルコードを入力して学習しているのですが、コードに取消線が表示されます。
どのように正しく入力したらよいか教えてください。
よろしくお願いいたします。
エラー表示の画面を添付させていただきます。
エラーを翻訳してみると下記になりました。
「非推奨警告: datetime.datetime.utcfromtimestamp() は非推奨であり、将来のバージョンで削除される予定です。タイムゾーン対応オブジェクトを使用して、日付時刻を UTC で表します」
バージョンはPyCharm 2024.1(community Edition)です。
Kamiyanagi Ryoさんのコメント
(コメントID: 8406)
私は2年前にPythonゼミを受講しました。
お使いのPythonのバージョンは3.12以降でしょうか。
翻訳された内容をヒントにPython公式ドキュメントを当たってみました。
utcfromtimestampについて、「バージョン 3.12 で非推奨: 代わりに UTC で datetime.fromtimestamp() を使用してください。」との記載がありました。
ご参考:
https://docs.python.org/ja/3/library/datetime.html#datetime.datetime.utcfromtimestamp
fromtimestampを使うと以下のようになると思います。
sonataさんのコメント
(コメントID: 8407)
ご回答をありがとうございます。
Pythonのバージョンは3.12.1 でした。
naive_dt = datetime.utcfromtimestamp(utc_timestamp)
↓
naive_dt = datetime.fromtimestamp(utc_timestamp)
に書き換えて、先に進むことができました!
ありがとうございます。
また、native ⇔ aware に変換する、いろいろなパターンも教えていただきありがとうございます。
今は理解したつもりでも、またすぐに忘れてしまいそうなので、何度も見て覚えたいと思います。
小川 慶一さんのコメント
(コメントID: 8409)
前進できたようでなによりです。
そういうとき、エラーメッセージをまるまるAIに投稿して、「どういうこと?どうしたらよい?」と聞いてみたりするのも良いですよ。
Kamiyanagi Ryoさん:
サポートありがとうございます!
助かりました!
小川 慶一さんのコメント
(コメントID: 8410)
***
こんな警告が表示されたけど、どうしたらよい?
<stdin>:1: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC).
***
claude.ai からの返答:
この警告は、`datetime.datetime.utcfromtimestamp()` メソッドが非推奨になったことを示しています。将来のバージョンでは削除される予定です。
代わりに、タイムゾーンを考慮したオブジェクトを使用して、UTC の日時を表現することが推奨されています。具体的には、`datetime.datetime.fromtimestamp(timestamp, datetime.UTC)` を使用するように提案されています。
以下は、警告に従って修正する方法の例です:
```python
import datetime
# 非推奨の方法
dt = datetime.datetime.utcfromtimestamp(timestamp)
# 推奨される方法
dt = datetime.datetime.fromtimestamp(timestamp, datetime.timezone.utc)
```
この修正により、`utcfromtimestamp()` メソッドの代わりに `fromtimestamp()` メソッドを使用し、`datetime.timezone.utc` を第2引数として渡すことで、タイムゾーンを考慮した UTC の日時を表現できます。
コードを見直し、`datetime.datetime.utcfromtimestamp()` メソッドを使用している箇所を、推奨される方法に置き換えることをお勧めします。これにより、将来のバージョンで非推奨の警告が表示されなくなり、コードの互換性が維持されます。
sonataさんのコメント
(コメントID: 8411)
こういう場面でAIを使うんですね。
凄いです!
次回からもっと活用します。
普段から気軽にAIと会話できるようにしていきたいと思います。
ありがとうございました。