Menukar Objek datetime kepada Detik dalam Python
Masalah:
Anda mempunyai berbilang objek datetime dan perlu mengira bilangan saat yang telah berlalu sejak masa tetap pada masa lalu (cth., 1 Januari 1970) untuk setiap objek. Walaupun t.toordinal() nampaknya hanya membezakan antara tarikh dengan hari yang berbeza, anda menyasarkan penukaran yang lebih tepat kepada saat.
Penyelesaian:
Untuk tarikh tertentu pada 1 Januari 1970, anda mempunyai beberapa pilihan:
Tukar kepada objek masa dan gunakan mktime():
<code class="python">import time time.mktime(t.timetuple())</code>
Gunakan kaedah total_seconds() bagi objek timedelta (tersedia dalam Python 2.7 dan kemudian):
<code class="python">from datetime import timedelta (t - datetime.datetime(1970, 1, 1)).total_seconds()</code>
Untuk sebarang tarikh mula yang lain, anda perlu menolak dua tarikh untuk mendapatkan timedelta objek dan kemudian gunakan fungsi total_seconds()nya:
<code class="python">from datetime import datetime, timedelta (t - datetime.datetime(2000, 1, 1)).total_seconds()</code>
Ingat bahawa tarikh mula biasanya ditentukan dalam UTC. Jika objek datetime anda tiada dalam UTC, tukarkannya sebelum menggunakannya atau berikan kelas tzinfo dengan ofset yang betul.
Atas ialah kandungan terperinci Berikut ialah beberapa pilihan tajuk, dengan mengingati format soal jawab: **Lebih Langsung. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!