Zona waktu untuk waktu. Stempel waktu yang sesuai akan dikonversi ke zona waktu Array/Indeks Datetime ini. Satu tz dari Tidak Ada akan mengonversi ke UTC dan menghapus informasi zona waktu Show
Jika Datetime Array/Index adalah tz-naif Lihat juga Zona waktu yang memiliki offset variabel dari UTC Lokalkan DatetimeIndex tz-naive ke zona waktu tertentu, atau hapus zona waktu dari DatetimeIndex yang sadar tz Saya biasanya menemukan Python bahasa yang sangat serbaguna yang memungkinkan Anda melakukan banyak hal tanpa harus mengeluarkan banyak usaha. Namun saya mengalami beberapa masalah dengan modul datetime Untuk tujuan dasar, modul datetime cukup memadai, tetapi sayangnya zona waktu tidak dapat dimanipulasi dan digunakan hanya dengan modul datetime. Misalnya tugas sederhana seperti mengonversi objek waktu tanggal dari satu zona waktu ke zona waktu lainnya bisa sangat menakutkan. Jadi saya akan menggunakan ini sebagai contoh untuk menunjukkan bagaimana Anda dapat menangani zona waktu Objek datetime sederhana disebut naif zona waktu. Jadi ketika kita melakukan hal berikut
Ini membuat objek datetime, yang tidak memiliki informasi tentang zona waktu, dan menggunakan waktu sistem saat ini. Untuk menggunakan zona waktu dengannya, Anda perlu mengubahnya menjadi objek sadar zona waktu. Ini dapat dilakukan dengan menggunakan fungsi ganti sebagai berikut _Ada dua hal, pertama bagaimana kita bisa mendapatkan objek tzinfo, dan kedua, apakah objek now berisi datetime yang benar sesuai dengan zona waktu yang telah Anda masukkan. Saya akan datang ke bagian pertama nanti, tetapi jawaban untuk bagian kedua adalah TIDAK Apa yang dilakukan penggantian adalah mengisi bidang tzinfo, dan hanya menerima bahwa Anda telah memberikan zona waktu yang benar untuk waktu tanggal. Jadi misalkan Anda berada di India (zona waktu Anda adalah Asia/Kolkata) dan Anda menyetel tzinfo untuk Eropa/Berlin maka itu hanya akan menerima bahwa waktu sistem saat ini sebenarnya adalah sistem Eropa/Berlin, yang sebenarnya salah Jadi jika Anda ingin mengonversi datetime dari satu zona waktu ke zona waktu lainnya, Anda harus menggunakan
Di sini kita harus melihat bahwa kita tidak dapat langsung menggunakan Sekarang sampai pada titik bagaimana kita bisa mendapatkan zona waktu yang berbeda. Dan itu bukanlah tugas yang sangat lurus ke depan. Kita harus menggunakan dua modul untuk itu 0 dan 1 keduanya sangat berguna. Jadi jika kita perlu mendapatkan zona waktu saat ini maka kita akan melakukan hal berikut
Dan misalkan kita ingin mengonversi ini menjadi utc datetime maka kita akan melakukannya _Menggunakan modul dateutil saja tidak memberi kita banyak fleksibilitas karena kita hanya bisa mendapatkan tzlocal() dan tzutc(), tetapi bagaimana jika kita harus mengonversi datetime ke zona waktu lain. Dalam hal ini kita harus menggunakan modul pytz. Misalkan Anda tahu bahwa zona waktu Anda adalah 'Asia\Kolkata' dan Anda ingin mengonversi waktu dari zona waktu lain, Anda akan melakukan hal berikut
Seperti yang saya katakan sebelumnya, modul dateutil dan pytz cukup berguna dan dapat digunakan untuk hal lain juga. Anda bebas menjelajahinya jika Anda mau. Sebagai contoh, misalkan Anda memiliki datetime dalam string sebagai 5 P. M. 21 Januari dateutil dapat menguraikannya menjadi objek datetime sebagai _Catatan. Jika Anda menggunakan dateutil dengan python2. x Anda cenderung mendapatkan kesalahan karena ada beberapa yang tidak kompatibel, jadi Anda juga harus menginstal python-dateutil==1. 5 pytz membawa basis data Olson tz ke dalam Python. Pustaka ini memungkinkan perhitungan zona waktu yang akurat dan lintas platform menggunakan Python 2. 4 atau lebih tinggi. Ini juga memecahkan masalah waktu ambigu di akhir waktu musim panas, yang dapat Anda baca lebih lanjut di Referensi Perpustakaan Python ( >>> loc_dt = eastern.localize(datetime(2002, 10, 27, 6, 0, 0)) >>> print(loc_dt.strftime(fmt)) 2002-10-27 06:00:00 EST-05000) Hampir semua zona waktu Olson didukung Catatan Pustaka ini berbeda dari API Python yang terdokumentasi untuk implementasi tzinfo; . Selain itu, jika Anda melakukan aritmatika tanggal pada waktu lokal yang melewati batas DST, hasilnya mungkin zona waktu yang salah (mis. kurangi 1 menit dari 27-10-2002 1. 00 EST dan Anda mendapatkan 2002-10-27 0. 59 bukan yang benar 27-10-2002 1. 59 EDT). Metode >>> loc_dt = eastern.localize(datetime(2002, 10, 27, 6, 0, 0)) >>> print(loc_dt.strftime(fmt)) 2002-10-27 06:00:00 EST-0500_2 disediakan untuk memperbaikinya. Sayangnya masalah ini tidak dapat diselesaikan tanpa memodifikasi implementasi datetime Python (lihat PEP-431) InstalasiPaket ini dapat diinstal dari a. file telur menggunakan setuptools, atau dari tarball menggunakan distutils Python standar Jika Anda menginstal dari tarball, jalankan perintah berikut sebagai pengguna administratif python setup.py install Jika Anda menginstal menggunakan setuptools, Anda bahkan tidak perlu mengunduh apa pun karena versi terbaru akan diunduh untuk Anda dari indeks paket Python easy_install --upgrade pytz Jika Anda sudah memiliki. file telur, Anda juga bisa menggunakannya easy_install pytz-2008g-py2.6.egg Contoh & PenggunaanAritmatika waktu dan tanggal yang dilokalkan>>> from datetime import datetime, timedelta >>> from pytz import timezone >>> import pytz >>> utc = pytz.utc >>> utc.zone 'UTC' >>> eastern = timezone('US/Eastern') >>> eastern.zone 'US/Eastern' >>> amsterdam = timezone('Europe/Amsterdam') >>> fmt = '%Y-%m-%d %H:%M:%S %Z%z' Perpustakaan ini hanya mendukung dua cara membangun waktu lokal. Yang pertama adalah menggunakan metode >>> loc_dt = eastern.localize(datetime(2002, 10, 27, 6, 0, 0)) >>> print(loc_dt.strftime(fmt)) 2002-10-27 06:00:00 EST-0500_1 yang disediakan oleh pustaka pytz. Ini digunakan untuk melokalkan datetime yang naif (datetime tanpa informasi zona waktu) >>> loc_dt = eastern.localize(datetime(2002, 10, 27, 6, 0, 0)) >>> print(loc_dt.strftime(fmt)) 2002-10-27 06:00:00 EST-0500_ Cara kedua membangun waktu lokal adalah dengan mengonversi waktu lokal yang ada menggunakan metode >>> loc_dt = eastern.localize(datetime(2002, 10, 27, 6, 0, 0)) >>> print(loc_dt.strftime(fmt)) 2002-10-27 06:00:00 EST-05004 standar >>> ams_dt = loc_dt.astimezone(amsterdam) >>> ams_dt.strftime(fmt) '2002-10-27 12:00:00 CET+0100' Sayangnya menggunakan argumen tzinfo dari konstruktor datetime standar "tidak berfungsi" dengan pytz untuk banyak zona waktu >>> datetime(2002, 10, 27, 12, 0, 0, tzinfo=amsterdam).strftime(fmt) '2002-10-27 12:00:00 LMT+0020' Aman untuk zona waktu tanpa transisi penghematan siang hari, seperti UTC >>> datetime(2002, 10, 27, 12, 0, 0, tzinfo=pytz.utc).strftime(fmt) '2002-10-27 12:00:00 UTC+0000' Cara yang lebih disukai untuk menangani waktu adalah dengan selalu bekerja dalam UTC, mengonversi ke waktu lokal hanya saat menghasilkan keluaran untuk dibaca oleh manusia >>> utc_dt = datetime(2002, 10, 27, 6, 0, 0, tzinfo=utc) >>> loc_dt = utc_dt.astimezone(eastern) >>> loc_dt.strftime(fmt) '2002-10-27 01:00:00 EST-0500' Pustaka ini juga memungkinkan Anda melakukan aritmatika tanggal menggunakan waktu lokal, meskipun lebih rumit daripada bekerja di UTC karena Anda perlu menggunakan metode >>> loc_dt = eastern.localize(datetime(2002, 10, 27, 6, 0, 0)) >>> print(loc_dt.strftime(fmt)) 2002-10-27 06:00:00 EST-05002 untuk menangani waktu musim panas dan transisi zona waktu lainnya. Dalam contoh ini, >>> loc_dt = eastern.localize(datetime(2002, 10, 27, 6, 0, 0)) >>> print(loc_dt.strftime(fmt)) 2002-10-27 06:00:00 EST-0500_6 disetel ke instan saat waktu musim panas berakhir di zona waktu AS/Timur >>> before = loc_dt - timedelta(minutes=10) >>> before.strftime(fmt) '2002-10-27 00:50:00 EST-0500' >>> eastern.normalize(before).strftime(fmt) '2002-10-27 01:50:00 EDT-0400' >>> after = eastern.normalize(before + timedelta(minutes=20)) >>> after.strftime(fmt) '2002-10-27 01:10:00 EST-0500' Membuat waktu lokal juga rumit, dan alasan mengapa bekerja dengan waktu lokal tidak disarankan. Sayangnya, Anda tidak bisa begitu saja memberikan argumen >>> loc_dt = eastern.localize(datetime(2002, 10, 27, 6, 0, 0)) >>> print(loc_dt.strftime(fmt)) 2002-10-27 06:00:00 EST-0500_7 saat membuat datetime (lihat bagian selanjutnya untuk detail lebih lanjut) easy_install --upgrade pytz0 Konversi antar zona waktu lebih mudah dilakukan, menggunakan metode zona waktu standar easy_install --upgrade pytz1 Anda dapat mengambil jalan pintas saat menangani sisi UTC dari konversi zona waktu. >>> loc_dt = eastern.localize(datetime(2002, 10, 27, 6, 0, 0)) >>> print(loc_dt.strftime(fmt)) 2002-10-27 06:00:00 EST-05002 dan >>> loc_dt = eastern.localize(datetime(2002, 10, 27, 6, 0, 0)) >>> print(loc_dt.strftime(fmt)) 2002-10-27 06:00:00 EST-05001 tidak benar-benar diperlukan bila tidak ada transisi waktu musim panas yang harus ditangani easy_install --upgrade pytz2 >>> loc_dt = eastern.localize(datetime(2002, 10, 27, 6, 0, 0)) >>> print(loc_dt.strftime(fmt)) 2002-10-27 06:00:00 EST-0500 _7 APIInstance >>> loc_dt = eastern.localize(datetime(2002, 10, 27, 6, 0, 0)) >>> print(loc_dt.strftime(fmt)) 2002-10-27 06:00:00 EST-05007 yang dikembalikan oleh fungsi >>> ams_dt = loc_dt.astimezone(amsterdam) >>> ams_dt.strftime(fmt) '2002-10-27 12:00:00 CET+0100'2 telah diperluas untuk mengatasi waktu yang ambigu dengan menambahkan parameter >>> ams_dt = loc_dt.astimezone(amsterdam) >>> ams_dt.strftime(fmt) '2002-10-27 12:00:00 CET+0100'3 ke metode >>> ams_dt = loc_dt.astimezone(amsterdam) >>> ams_dt.strftime(fmt) '2002-10-27 12:00:00 CET+0100'4, >>> ams_dt = loc_dt.astimezone(amsterdam) >>> ams_dt.strftime(fmt) '2002-10-27 12:00:00 CET+0100'5 && >>> ams_dt = loc_dt.astimezone(amsterdam) >>> ams_dt.strftime(fmt) '2002-10-27 12:00:00 CET+0100'6 easy_install --upgrade pytz3 easy_install --upgrade pytz4 Parameter >>> ams_dt = loc_dt.astimezone(amsterdam) >>> ams_dt.strftime(fmt) '2002-10-27 12:00:00 CET+0100'_3 diabaikan untuk sebagian besar stempel waktu. Ini hanya digunakan selama periode ambigu transisi DST untuk menyelesaikan ambiguitas itu easy_install --upgrade pytz5 easy_install --upgrade pytz6 easy_install --upgrade pytz7 easy_install --upgrade pytz8 Jika >>> ams_dt = loc_dt.astimezone(amsterdam) >>> ams_dt.strftime(fmt) '2002-10-27 12:00:00 CET+0100'_3 tidak ditentukan, stempel waktu yang ambigu akan memunculkan pengecualian >>> ams_dt = loc_dt.astimezone(amsterdam) >>> ams_dt.strftime(fmt) '2002-10-27 12:00:00 CET+0100'9 easy_install --upgrade pytz_9 easy_install pytz-2008g-py2.6.egg_0 Masalah dengan waktu setempatMasalah utama yang harus kita tangani adalah bahwa waktu tertentu dapat terjadi dua kali dalam setahun. Misalnya, di zona waktu AS/Timur pada Minggu pagi terakhir bulan Oktober, urutan berikut terjadi
Bahkan, setiap saat antara 01. 00 dan 02. 00 terjadi dua kali. Ini berarti bahwa jika Anda mencoba dan membuat waktu di zona waktu 'AS/Timur' sintaks datetime standar, tidak ada cara untuk menentukan apakah yang Anda maksud sebelum atau sesudah transisi penghematan waktu akhir siang hari. Dengan menggunakan sintaks khusus pytz, hal terbaik yang dapat Anda lakukan adalah membuat tebakan easy_install pytz-2008g-py2.6.egg_1 Seperti yang Anda lihat, sistem telah memilih satu untuk Anda dan ada kemungkinan 50% sistem akan keluar dalam satu jam. Untuk beberapa aplikasi, ini tidak masalah. Namun, jika Anda mencoba menjadwalkan rapat dengan orang-orang di zona waktu yang berbeda atau menganalisis file log, hal itu tidak dapat diterima Solusi terbaik dan paling sederhana adalah tetap menggunakan UTC. Paket pytz mendorong penggunaan UTC untuk representasi zona waktu internal dengan menyertakan implementasi UTC khusus berdasarkan implementasi referensi Python standar dalam dokumentasi Python Zona waktu UTC memisahkan menjadi instans yang sama, dan mengasinkan ke ukuran yang lebih kecil dari instans pytz tzinfo lainnya. Implementasi UTC dapat diperoleh sebagai pytz. dll., pytz. UTC, atau pytz. zona waktu('UTC') easy_install pytz-2008g-py2.6.egg_2 Perhatikan bahwa beberapa zona waktu lain biasanya dianggap sama (GMT, Greenwich, Universal, dll. ). Definisi UTC berbeda dari zona waktu lainnya, dan tidak setara. Untuk alasan ini, mereka tidak akan membandingkan hal yang sama dengan Python easy_install pytz-2008g-py2.6.egg_3 Lihat bagiannya, di bawah ini Jika Anda bersikeras bekerja dengan waktu setempat, perpustakaan ini menyediakan fasilitas untuk membangunnya dengan jelas easy_install pytz-2008g-py2.6.egg_4 Jika Anda melewatkan None sebagai flag is_dst ke localize(), pytz akan menolak untuk menebak dan memunculkan pengecualian jika Anda mencoba membuat waktu yang ambigu atau tidak ada Misalnya, 1. 30:00 pada tanggal 27 Oktober 2002 terjadi dua kali di zona waktu AS/Timur ketika jam ditempatkan kembali pada akhir Waktu Musim Panas easy_install pytz-2008g-py2.6.egg_5 Demikian pula, 2. 30 pagi pada tanggal 7 April 2002 tidak pernah terjadi sama sekali di zona waktu AS/Timur, karena jam dimajukan pada pukul 2. 00 pagi melewatkan satu jam penuh easy_install pytz-2008g-py2.6.egg_6 Kedua pengecualian ini berbagi kelas dasar yang sama untuk mempermudah penanganan kesalahan easy_install pytz-2008g-py2.6.egg_7 Kasus khusus adalah ketika negara mengubah definisi zona waktu mereka tanpa peralihan waktu musim panas. Misalnya, pada tahun 1915 Warsawa beralih dari waktu Warsawa ke waktu Eropa Tengah tanpa transisi penghematan siang hari. Jadi pada tengah malam tanggal 5 Agustus 1915 jam diputar mundur 24 menit menciptakan periode waktu yang ambigu yang tidak dapat ditentukan tanpa mengacu pada singkatan zona waktu atau offset UTC yang sebenarnya. Dalam hal ini tengah malam terjadi dua kali, tidak ada waktu selama periode waktu musim panas. pytz menangani transisi ini dengan memperlakukan periode ambigu sebelum peralihan sebagai waktu musim panas, dan periode ambigu setelahnya sebagai waktu standar easy_install pytz-2008g-py2.6.egg_8 Cara terbaik untuk membuat waktu selama periode waktu yang ambigu adalah dengan mengonversi dari zona waktu lain seperti UTC easy_install pytz-2008g-py2.6.egg_9 Cara Python standar untuk menangani semua ambiguitas ini bukan untuk menanganinya, seperti yang ditunjukkan dalam contoh ini menggunakan definisi zona waktu AS/Timur dari dokumentasi Python (Perhatikan bahwa implementasi ini hanya berfungsi untuk tanggal antara 1987 dan 2006 - disertakan untuk pengujian hanya. ) >>> from datetime import datetime, timedelta >>> from pytz import timezone >>> import pytz >>> utc = pytz.utc >>> utc.zone 'UTC' >>> eastern = timezone('US/Eastern') >>> eastern.zone 'US/Eastern' >>> amsterdam = timezone('Europe/Amsterdam') >>> fmt = '%Y-%m-%d %H:%M:%S %Z%z'0 Perhatikan dua hasil pertama? >>> from datetime import datetime, timedelta >>> from pytz import timezone >>> import pytz >>> utc = pytz.utc >>> utc.zone 'UTC' >>> eastern = timezone('US/Eastern') >>> eastern.zone 'US/Eastern' >>> amsterdam = timezone('Europe/Amsterdam') >>> fmt = '%Y-%m-%d %H:%M:%S %Z%z'1 Informasi NegaraMekanisme disediakan untuk mengakses zona waktu yang biasa digunakan untuk negara tertentu, dicari menggunakan kode negara ISO 3166. Ini mengembalikan daftar string yang dapat digunakan untuk mengambil instance tzinfo yang relevan menggunakan >>> datetime(2002, 10, 27, 12, 0, 0, tzinfo=amsterdam).strftime(fmt) '2002-10-27 12:00:00 LMT+0020'0 >>> from datetime import datetime, timedelta >>> from pytz import timezone >>> import pytz >>> utc = pytz.utc >>> utc.zone 'UTC' >>> eastern = timezone('US/Eastern') >>> eastern.zone 'US/Eastern' >>> amsterdam = timezone('Europe/Amsterdam') >>> fmt = '%Y-%m-%d %H:%M:%S %Z%z'2 Basis data Olson dilengkapi dengan kode negara ISO 3166 untuk pemetaan nama negara Inggris yang diekspos Pytz sebagai kamus >>> from datetime import datetime, timedelta >>> from pytz import timezone >>> import pytz >>> utc = pytz.utc >>> utc.zone 'UTC' >>> eastern = timezone('US/Eastern') >>> eastern.zone 'US/Eastern' >>> amsterdam = timezone('Europe/Amsterdam') >>> fmt = '%Y-%m-%d %H:%M:%S %Z%z'_3 Apa itu UTC'UTC' adalah Waktu Universal Terkoordinasi. Ini adalah penerus, tetapi berbeda dari, Greenwich Mean Time (GMT) dan berbagai definisi Waktu Universal. UTC sekarang menjadi standar dunia untuk mengatur jam dan pengukuran waktu Semua zona waktu lainnya ditentukan relatif terhadap UTC, dan termasuk offset seperti UTC+0800 - jam untuk menambah atau mengurangi dari UTC untuk mendapatkan waktu setempat. Tidak ada waktu musim panas yang terjadi di UTC, menjadikannya zona waktu yang berguna untuk melakukan aritmatika tanggal tanpa mengkhawatirkan kebingungan dan ambiguitas yang disebabkan oleh transisi waktu musim panas, negara Anda mengubah zona waktunya, atau komputer seluler yang menjelajahi beberapa zona waktu PembantuAda dua daftar zona waktu yang disediakan >>> datetime(2002, 10, 27, 12, 0, 0, tzinfo=amsterdam).strftime(fmt) '2002-10-27 12:00:00 LMT+0020'1 adalah daftar lengkap nama zona waktu yang dapat digunakan >>> from datetime import datetime, timedelta >>> from pytz import timezone >>> import pytz >>> utc = pytz.utc >>> utc.zone 'UTC' >>> eastern = timezone('US/Eastern') >>> eastern.zone 'US/Eastern' >>> amsterdam = timezone('Europe/Amsterdam') >>> fmt = '%Y-%m-%d %H:%M:%S %Z%z'4 >>> datetime(2002, 10, 27, 12, 0, 0, tzinfo=amsterdam).strftime(fmt) '2002-10-27 12:00:00 LMT+0020'2 adalah daftar berguna, zona waktu saat ini. Itu tidak berisi zona usang atau zona historis, kecuali untuk beberapa yang saya anggap dalam penggunaan umum, seperti AS/Timur (buka laporan bug jika menurut Anda zona waktu lain layak disertakan di sini). Ini juga merupakan urutan string >>> from datetime import datetime, timedelta >>> from pytz import timezone >>> import pytz >>> utc = pytz.utc >>> utc.zone 'UTC' >>> eastern = timezone('US/Eastern') >>> eastern.zone 'US/Eastern' >>> amsterdam = timezone('Europe/Amsterdam') >>> fmt = '%Y-%m-%d %H:%M:%S %Z%z'5 Baik >>> datetime(2002, 10, 27, 12, 0, 0, tzinfo=amsterdam).strftime(fmt) '2002-10-27 12:00:00 LMT+0020'2 dan >>> datetime(2002, 10, 27, 12, 0, 0, tzinfo=amsterdam).strftime(fmt) '2002-10-27 12:00:00 LMT+0020'1 diurutkan menurut abjad >>> from datetime import datetime, timedelta >>> from pytz import timezone >>> import pytz >>> utc = pytz.utc >>> utc.zone 'UTC' >>> eastern = timezone('US/Eastern') >>> eastern.zone 'US/Eastern' >>> amsterdam = timezone('Europe/Amsterdam') >>> fmt = '%Y-%m-%d %H:%M:%S %Z%z'6 >>> datetime(2002, 10, 27, 12, 0, 0, tzinfo=amsterdam).strftime(fmt) '2002-10-27 12:00:00 LMT+0020'1 dan >>> datetime(2002, 10, 27, 12, 0, 0, tzinfo=amsterdam).strftime(fmt) '2002-10-27 12:00:00 LMT+0020'2 juga tersedia sebagai set >>> from datetime import datetime, timedelta >>> from pytz import timezone >>> import pytz >>> utc = pytz.utc >>> utc.zone 'UTC' >>> eastern = timezone('US/Eastern') >>> eastern.zone 'US/Eastern' >>> amsterdam = timezone('Europe/Amsterdam') >>> fmt = '%Y-%m-%d %H:%M:%S %Z%z'7 Anda juga dapat mengambil daftar zona waktu yang digunakan oleh negara tertentu menggunakan fungsi >>> datetime(2002, 10, 27, 12, 0, 0, tzinfo=amsterdam).strftime(fmt) '2002-10-27 12:00:00 LMT+0020'7. Ini membutuhkan kode negara dua huruf ISO-3166 >>> from datetime import datetime, timedelta >>> from pytz import timezone >>> import pytz >>> utc = pytz.utc >>> utc.zone 'UTC' >>> eastern = timezone('US/Eastern') >>> eastern.zone 'US/Eastern' >>> amsterdam = timezone('Europe/Amsterdam') >>> fmt = '%Y-%m-%d %H:%M:%S %Z%z'8 Internasionalisasi - i18n/l10nPytz adalah antarmuka ke database IANA, yang menggunakan nama ASCII. Proyek Unicode Consortium's Unicode Locales (CLDR) menyediakan terjemahan. Paket l18n Thomas Khyn dapat digunakan untuk mengakses terjemahan ini dari Python Lisensilisensi MIT Kode ini juga tersedia sebagai bagian dari Zope 3 di bawah Lisensi Publik Zope, Versi 2. 1 (ZPL) Saya senang merilis kode ini jika perlu untuk disertakan dalam proyek sumber terbuka lainnya Versi TerbaruPaket ini akan diperbarui setelah rilis basis data zona waktu Olson. Versi terbaru dapat diunduh dari Python Package Index. Kode yang digunakan untuk menghasilkan distribusi ini dihosting di launchpad. bersih dan tersedia menggunakan git Bagaimana cara mendapatkan zona waktu dengan Python?dari datetime impor datetime dari pytz import timezone tz = timezone('EST') datetime. now(tz) ## ini mengembalikan objek datetime yang menunjuk ke sekarang ## menurut objek info zona waktu yang diserahkan sebagai variabel tz.
Bagaimana cara mengubah zona waktu dengan Python?Mengonversi Antar Zona Waktu
. Use the datetime. metode astimezone() untuk mengonversi datetime dari satu zona waktu ke zona waktu lainnya. Metode ini menggunakan turunan dari objek datetime dan mengembalikan datetime baru dari zona waktu tertentu.
Bagaimana cara mengonversi satu zona waktu ke zona waktu lain dengan Python?fungsi now () (mengembalikan tanggal dan waktu lokal saat ini) dan meneruskan fungsi zona waktu () (mendapatkan zona waktu dari lokasi tertentu) dengan zona waktu sebagai argumen untuk mengatakan 'UTC'. Format DateTime di atas menggunakan strftime() dan cetak. Konversikan waktu di atas ke zona waktu lain menggunakan datetime
Bagaimana Anda mengubah waktu UTC dengan Python?Gunakan modul pytz, yang dilengkapi dengan daftar lengkap zona waktu + UTC. Cari tahu apa itu zona waktu lokal, buat objek zona waktu darinya, dan manipulasi serta lampirkan ke datetime yang naif. Terakhir, gunakan datetime. astimezone() metode untuk mengonversi datetime ke UTC . |