Menukar Objek Datetime kepada Detik dalam Python
Apabila bekerja dengan objek datetime dalam Python, ia sering menjadi perlu untuk menukarnya kepada saat untuk pelbagai tujuan analisis. Walau bagaimanapun, kaedah tordinal() mungkin tidak memberikan output yang diingini, kerana ia hanya membezakan antara tarikh dengan hari yang berbeza.
Untuk menukar objek datetime kepada saat dengan tepat, terutamanya untuk tarikh tertentu 1 Januari 1970, terdapat pelbagai pilihan yang tersedia. Untuk semua tarikh permulaan yang lain, anda perlu mengira perbezaan masa antara dua tarikh.
Untuk 1 Januari 1970:
datetime.datetime.timestamp(): Kaedah ini secara langsung mengembalikan bilangan saat sejak zaman Unix, yang sepadan dengan 00:00:00 UTC pada 1 Januari 1970.
<code class="python">t = datetime.datetime(1970, 1, 1) seconds = t.timestamp()</code>
time.mktime(): Fungsi time.mktime() juga boleh digunakan untuk menukar objek datetime kepada saat sejak zaman Unix.
<code class="python">import time t = datetime.datetime(1970, 1, 1) time_struct = t.timetuple() seconds = time.mktime(time_struct)</code>
Untuk mana-mana tarikh mula yang lain:
timedelta.total_seconds(): Menolak dua objek datetime menghasilkan objek timedelta. Kaedah total_seconds() timedelta menyediakan bilangan saat antara kedua-dua tarikh.
<code class="python">t = datetime.datetime(2009, 10, 21, 0, 0) starting_date = datetime.datetime(1970, 1, 1) seconds = (t - starting_date).total_seconds()</code>
Adalah penting untuk ambil perhatian bahawa tarikh mula harus dinyatakan dalam UTC (Waktu Sejagat Selaras) untuk hasil yang tepat. Jika tarikh tarikh anda tiada dalam UTC, anda perlu menukarnya atau melampirkan kelas tzinfo dengan ofset yang sesuai.
Atas ialah kandungan terperinci Bagaimana untuk Menukar Objek Datetime Python kepada Saat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!