Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Menukar Objek datetime Python dengan Tepat ke Masa Epoch Tanpa Menggunakan strftime(\'%s\')?

Bagaimana untuk Menukar Objek datetime Python dengan Tepat ke Masa Epoch Tanpa Menggunakan strftime(\'%s\')?

DDD
Lepaskan: 2024-11-20 04:53:01
asal
355 orang telah melayarinya

How to Accurately Convert a Python datetime Object to Epoch Time Without Using strftime('%s')?

Menukar Python datetime kepada Epoch Menggunakan strftime

Pada asalnya, matlamatnya adalah untuk menukar masa UTC kepada bilangan saat sejak zaman menggunakan strftime. Walau bagaimanapun, apabila menggunakan strftime dengan format '%s', nilai yang terhasil berbeza daripada kiraan zaman yang dijangkakan sebanyak sejam. Menyiasat percanggahan ini mendedahkan bahawa strftime menggabungkan masa sistem dan melaraskan perbezaan zon waktu, walaupun tarikh masa dipercayai naif.

Penyelesaian

Untuk mengatasi isu ini, pertimbangkan alternatif berikut:

Python 3.3 dan Nanti

  • Gunakan kaedah cap waktu() masa tarikh:

    >>> datetime.datetime(2012, 4, 1, 0, 0).timestamp()
    1333234800.0
    Salin selepas log masuk

Python 3.2 dan Terdahulu

  • Kira secara eksplisit perbezaan antara tarikh yang diberikan dan tarikh masa zaman:

    >>> (datetime.datetime(2012, 4, 1, 0, 0) - datetime.datetime(1970, 1, 1)).total_seconds()
    1333238400.0
    Salin selepas log masuk

Awas: Mengelakkan strftime('%s')

Adalah penting untuk ambil perhatian bahawa datetime tidak menyokong penentu format '%s' secara rasmi untuk strftime. Fungsi semasanya adalah disebabkan oleh interaksi dengan pelaksanaan strftime sistem, yang melaraskan perbezaan zon waktu. Menggunakan strftime('%s') boleh membawa kepada hasil yang tidak konsisten kerana potensi variasi zon waktu.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Objek datetime Python dengan Tepat ke Masa Epoch Tanpa Menggunakan strftime(\'%s\')?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan