Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Menukar Objek Datetime Python dengan Tepat kepada Masa Epoch?

Bagaimanakah Saya Boleh Menukar Objek Datetime Python dengan Tepat kepada Masa Epoch?

Patricia Arquette
Patricia Arquetteasal
2024-11-20 12:49:14973semak imbas

How Can I Accurately Convert Python Datetime Objects to Epoch Time?

Menukar Python Datetime kepada Epoch dengan strftime: Membongkar Percanggahan Zon Waktu

Untuk mendapatkan bilangan saat sejak zaman daripada tarikh tarikh UTC, pembangun sering bergantung pada fungsi strftime. Walau bagaimanapun, seperti yang ditunjukkan dalam soalan ini, menggunakan strftime('%s') untuk menukar datetime kepada epoch boleh menghasilkan keputusan yang tidak tepat disebabkan pelarasan zon waktu.

Mengapa Percanggahan?

Secara lalai, strftime menggabungkan zon waktu sistem ke dalam pengiraannya. Akibatnya, ia menggunakan anjakan zon waktu tersirat, yang membawa kepada penukaran zaman yang salah untuk masa tarikh dalam zon waktu tertentu.

Penyelesaian untuk Penukaran Tepat

Untuk mengelakkan ketidaktepatan yang disebabkan oleh zon waktu , pertimbangkan pendekatan alternatif ini:

  • Python 3.3 dan Ke Atas: Gunakan kaedah cap waktu(), yang mengembalikan cap masa yang tepat dalam saat titik terapung sejak zaman itu, tanpa pelarasan zon waktu .
datetime.datetime(2012, 4, 1, 0, 0).timestamp()
  • Python 3.2 dan Terdahulu: Kira secara eksplisit jumlah saat sejak zaman itu.
(datetime.datetime(2012, 4, 1, 0, 0) - datetime.datetime(1970, 1, 1)).total_seconds()

Awas terhadap Penggunaan strftime('%s')

Adalah penting untuk ambil perhatian bahawa penggunaan strftime('%s') tidak digalakkan untuk penukaran zaman. Ini kerana strftime tidak menyokong '%s' secara eksplisit sebagai hujah pemformatan. Keserasiannya berpunca daripada pelaksanaan strftime sistem asas, yang memperkenalkan gelagat khusus zon waktu. Ketidakkonsistenan ini boleh membawa kepada hasil yang salah, menjadikannya kaedah yang tidak boleh dipercayai untuk penukaran zaman mudah alih.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Objek Datetime Python dengan Tepat kepada Masa Epoch?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn