Fungsi utcnow () modul datetime dapat digunakan untuk mendapatkan waktu UTC saat ini.
>>> import datetime
>>> utc_datetime = datetime.datetime.utcnow()
>>> utc_datetime.strftime("%Y-%m-%d %H:%M:%S")
'2010-02-01 06:59:19'
Seperti tautan yang disebutkan di atas oleh Tom: http://lucumr.pocoo.org/2011/7/15/eppur-si-muove/ mengatakan:
UTC adalah zona waktu tanpa waktu musim panas dan masih merupakan zona waktu tanpa perubahan konfigurasi di masa lalu.
Selalu ukur dan simpan waktu dalam UTC .
Jika Anda perlu merekam di mana waktu diambil, simpan secara terpisah.
Jangan menyimpan waktu setempat + informasi zona waktu!
CATATAN - Jika ada data Anda di wilayah yang menggunakan DST, gunakanpytz
dan lihat jawaban John Millikin.
Jika Anda ingin mendapatkan waktu UTC dari string yang diberikan dan keberuntungan Anda cukup untuk berada di wilayah di dunia yang tidak menggunakan DST, atau Anda memiliki data yang hanya offset dari UTC tanpa DST diterapkan:
-> menggunakan waktu lokal sebagai dasar untuk nilai offset:
>>> # Obtain the UTC Offset for the current system:
>>> UTC_OFFSET_TIMEDELTA = datetime.datetime.utcnow() - datetime.datetime.now()
>>> local_datetime = datetime.datetime.strptime("2008-09-17 14:04:00", "%Y-%m-%d %H:%M:%S")
>>> result_utc_datetime = local_datetime + UTC_OFFSET_TIMEDELTA
>>> result_utc_datetime.strftime("%Y-%m-%d %H:%M:%S")
'2008-09-17 04:04:00'
-> Atau, dari offset yang diketahui, menggunakan datetime.timedelta ():
>>> UTC_OFFSET = 10
>>> result_utc_datetime = local_datetime - datetime.timedelta(hours=UTC_OFFSET)
>>> result_utc_datetime.strftime("%Y-%m-%d %H:%M:%S")
'2008-09-17 04:04:00'
MEMPERBARUI:
Karena python 3.2 datetime.timezone
tersedia. Anda dapat menghasilkan objek datetime sadar zona waktu dengan perintah di bawah ini:
import datetime
timezone_aware_dt = datetime.datetime.now(datetime.timezone.utc)
Jika Anda siap untuk mengambil konversi zona waktu baca ini:
https://medium.com/@eleroy/10-things-you-need-to-know-about-date-and-time-in-python-with-datetime-pytz-dateutil-timedelta-309bfbafb3f7