https://pendulum.eustace.io振り子Pythonのdatetimesは簡単にできました。PyPyをサポートします。just_before.add(microseconds=1)'2013-03-31T03:00:00+02:00'なぜ振り子ですか?ネイティブのdatetimeインスタンスは基本的なケースでは十分ですが、より複雑なユースケースに直面すると、しばしば制限があり、それほど直感的ではありません。Pendulumは、標準ライブラリに依存しながら、よりクリーンで使いやすいAPIを提供します。それはまだdatetimeが、より良いです。Pendulumは、Pythonの他の日時ライブラリとは異なり、標準のdatetimeクラス(それを継承しています)の代わりに使用されるため、基本的には、コード内のPendulumインスタンスですべてのdatetimeインスタンスを置き換えることができます例えばsqlite3やPyMySQLようなtype関数を使ってオブジェクトの型をPyMySQLします)。純粋な日付表記の概念も取り除きます。それぞれのPendulumインスタンスはタイムゾーンを認識し、デフォルトでは使いやすさのためにUTCです。ペンデュラムは、より直感的なメソッドやプロパティを提供することにより、標準的なtimedeltaクラスも向上させます。矢じゃないの?ArrowはPythonの最も普及している日時ライブラリですが、その動作やAPIは不安定で予期しないことがあります。just_before.in_timezone('utc')).total_seconds()1e-06これらの例は、矢印が渡されたデータと常に一貫した動作をすることを信頼できるとは限らないことを示しています。制限事項Pendulumクラスはdatetimeサブクラスですが、ネイティブクラスを直接置き換えることはできないまれなケースがいくつかあります。type()関数を使用してデフォルトでオブジェクトの型を決定します。この問題を回避するには、新しいアダプターを登録することができます。)とPyMySQLはtype()関数を使用してデフォルトでオブジェクトの型を判定します。この問題を回避するには、新しいアダプターを登録することができます。pymysql.converters.escape_datetimedjangoはisoformat()メソッドを使用してデータベースに日付時刻を格納します。pendulumは常にタイムゾーンを意識しているので、オフセット情報は少なくともMySQLデータベースの場合はエラーを起こすisoformat()によって返されます。この問題を回避するには、独自のDateTimeField作成するか、以前のMySQLdb回避策を使用します。貢献する寄稿は歓迎されます。ローカリゼーションが歓迎です。enファイルを開始点として使用し、それに応じてテストを追加します。