ホームページ > バックエンド開発 > Python チュートリアル > Python で特定の形式で日付を出力し、予期しない結果を回避するにはどうすればよいですか?

Python で特定の形式で日付を出力し、予期しない結果を回避するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-12-07 17:49:17
オリジナル
881 人が閲覧しました

How Can I Print Dates in Python with Specific Formats and Avoid Unexpected Results?

通常の形式で日付を出力する

特定の形式で日付を出力しようとすると、Python の日付の性質により、予期しない結果が発生する可能性があります。日付は、独自の書式設定メカニズムを備えたオブジェクトとして表されます。

日付オブジェクトの使用

日付は、Python ではオブジェクトとして操作されます。これらには 2 つの文字列表現があります:

  • 通常の表現: print によって使用され、str() 経由で取得されます。人間が判読できる形式で日付を表示します (例: "2008-11-22")。
  • 代替表現: repr() によって取得されます。オブジェクトのデータ構造を表します。例: "datetime.date(2008, 11, 22)"。

予期しない結果を避けるには、日付を表示するときに日付を明示的に文字列にキャストします。

print(str(date))
ログイン後にコピー

日付オブジェクトのライフサイクル

指定されたコード内スニペット:

import datetime
mylist = [datetime.date.today()]
print(mylist)
ログイン後にコピー

datetime.date.today() は日付オブジェクトを返します。 mylist を出力するとき、Python は日付オブジェクトを含むオブジェクトのリストを表現しようとします。これにより、代替表現 (repr()) がトリガーされ、「[datetime.date(2008, 11, 22)]」が生成されます。

日付を適切に出力するには、そのコンテナではなくオブジェクト自体を出力します。

print(mylist[0])
ログイン後にコピー

高度な日付書式設定

カスタム日付書式設定の場合、strftime() メソッドは次のようになります。 使用済み。希望の形式を指定する形式文字列を受け入れます:

  • %d: 月の日 (2 桁)
  • %m: 月の番号 (2 桁)
  • %Y: 年 (4数字)

例:

print(today.strftime('We are the %d, %b %Y'))
ログイン後にコピー

出力: "We are the 22, Nov 2008"

ローカリゼーション

Python はローカライズされた日付をサポートしますフォーマットしますが、追加の構成が必要になります。詳細については、公式ドキュメントを参照してください。

以上がPython で特定の形式で日付を出力し、予期しない結果を回避するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート