Data dapat direpresentasikan dalam berbagai bentuk - dan cara mudah untuk merepresentasikan tanggal dan waktu adalah string. Namun, untuk bekerja dengan tanggal dan waktu ini secara aritmatika (seperti menghitung perbedaan waktu, menambah atau mengurangi waktu, dll.). ) - kita perlu mengonversinya menjadi objek ________________8 Show Salah satu sumber datetime berformat string yang paling umum adalah REST API yang mengembalikan string agnostik, yang kemudian dapat kita konversi ke format lain Selain itu - zona waktu adalah masalah umum saat bekerja dengan objek datetime, jadi kita harus memikirkannya saat mengonversi juga
Modul datetime terdiri dari tiga jenis objek yang berbeda. 3, 4, dan 8. Objek _3 menyimpan tanggal, 4 menyimpan waktu, dan 8 menyimpan tanggal dan waktu_______________1Menjalankan kode ini akan menghasilkan _______________Ketika tidak ada pemformatan khusus yang diberikan, format string default digunakan, mis. e. format untuk "2022-12-0. 27. 03. 929149" dalam format ISO 8601. MM. SS. mmmmmm). Jika string input kami untuk membuat objek 8 berada dalam format ISO 8601 yang sama atau jika Anda mengetahui format yang akan Anda terima di awal, kami dapat dengan mudah mengurainya menjadi objek 8Menjalankannya akan mencetak tanggal, waktu, dan tanggal-waktu _______________Di sini, kami menggunakan metode _1, yang menerima dua argumen
Menentukan format seperti ini membuat penguraian lebih cepat karena 8 tidak perlu mencoba dan menginterpretasikan formatnya sendiri, yang jauh lebih mahal secara komputasi. Nilai yang dikembalikan adalah tipe 8Dalam contoh kita, _4 adalah string input dan 5 adalah format string tanggal kita. Nilai 8 yang dikembalikan disimpan sebagai 7Karena ini adalah objek 8, kita dapat memanggil metode 9 dan 0 langsung di atasnya. Seperti yang Anda lihat dari output, ini mencetak bagian 'tanggal' dan 'waktu' dari string inputMemformat TokenSebaiknya luangkan waktu sejenak untuk memahami token format - 5 dari sebelumnyaSetiap token mewakili bagian tanggal-waktu yang berbeda, seperti hari, bulan, tahun, hari dalam sebulan atau minggu, dll. Cukup luas untuk mengaktifkan berbagai pemformatan. Beberapa yang umum digunakan, yang juga pernah kami gunakan sebelumnya adalah
Catatan. Semua token ini, kecuali tahunnya, diharapkan tidak terisi (mis. e. Agustus adalah bulan ke-8 dalam setahun. Jika format string diketahui, string dapat dengan mudah diuraikan menjadi objek 8 menggunakan 1. Mari kita lihat contoh non-sepele yang menerjemahkan dari satu format ke format lainnya_______________String masukan adalah satu format - "Jul. 20AM". Mengetahui format ini, kami memetakan elemen penyusun ke format ISO 8601 dan mengubahnya menjadi objek _______________8 _______________Berikut adalah daftar singkat datetimes berformat string umum dan format yang sesuai untuk 1_______________Anda dapat menguraikan string tanggal-waktu dalam format apa pun - selama Anda menggunakan string token format yang benar untuk masukan yang Anda terima Penanganan tanggal-waktu menjadi lebih kompleks saat berhadapan dengan zona waktu. Semua contoh di atas sejauh ini naif terhadap zona waktu. Ini dikenal sebagai objek datetime naif Namun, objek _8 berisi bidang persis untuk menyimpan data terkait zona waktu - 5Bidang _5 dimaksudkan untuk menjadi objek 7, yang menunjukkan informasi zona waktu. Ini adalah 8 secara default, dan menunjukkan bahwa objek datetime naif zona waktu. Pustaka eksternal yang sangat umum untuk menangani zona waktu adalah 9. Anda juga dapat menyetel objek PyTz sebagai bidang 5Jika Anda belum memilikinya - instal via _______________Menggunakan PyTz, kita dapat membuat jangkar untuk waktu yang sadar zona waktu, seperti UTC _______________Keluaran _______________Ini bukan lagi jam 11 pagi, tapi jam 2 pagi, karena kami telah mengatur zona waktu beberapa jam ke belakang. Ini mengubah zona waktu dari datetime 1 adalah perbedaan antara waktu yang ditampilkan dan waktu UTC. Offset diatur ke 2. Ini adalah objek yang sadar zona waktuDemikian pula, kita dapat mengganti interpretasi datetime yang sama di antara zona waktu. Mari kita konversi string, seperti "2022-06-2. 08. 00" ke datetime dan kemudian melokalkannya ke zona waktu "America/New_York" Catatan. Pelokalan mengubah datetime naif zona waktu menjadi datetime sadar zona waktu, dan memperlakukan zona waktu sebagai zona waktu lokal. Dengan demikian, datetime tetap sama, tetapi mengingat zona waktu yang berbeda, itu tidak lagi mewakili titik waktu yang sama yang tidak terikat dari zona waktu Kami mendapatkan nilai datetime yang sama, diimbangi dengan -0. 00 dibandingkan dengan waktu UTC 017. 08 di Tokyo bukanlah titik waktu yang sama. 08 di New York. 17. 08 di Tokyo adalah. 08 di New York
Untuk menemukan semua zona waktu yang tersedia, periksa bidang 3 1Lihat panduan praktis dan praktis kami untuk mempelajari Git, dengan praktik terbaik, standar yang diterima industri, dan menyertakan lembar contekan. Hentikan perintah Googling Git dan benar-benar pelajari itu 2Kita dapat mengonversi zona waktu objek 8 yang sadar zona waktu dari satu wilayah ke wilayah lain, alih-alih melokalkan waktu yang naif zona waktu melalui lensa beberapa zona waktuIni berbeda dari pelokalan, karena pelokalan mewakili titik waktu yang berbeda, tetapi mengubah zona waktu suatu objek mewakili titik waktu yang sama, melalui lensa yang berbeda 3Pertama, kami membuat objek datetime dengan waktu saat ini dan menetapkannya sebagai zona waktu "Amerika/New_York". Kemudian menggunakan metode _5, kami telah mengonversi 8 ini menjadi zona waktu "Eropa/London". Kedua 8 akan mencetak nilai yang berbeda, menggunakan offset UTC sebagai tautan referensi di antara keduanya 42. Tanggal 24 hari berikutnya di London adalah titik waktu yang sama dengan tanggal 21. 24 hari sebelumnya di New York karena London 5 jam lebih cepat Seperti yang diharapkan, waktu tanggal berbeda karena jaraknya sekitar 5 jam Modul 8 Python dapat mengubah semua jenis string yang berbeda menjadi objek 8. Tetapi masalah utamanya adalah untuk melakukan ini, Anda perlu membuat string kode pemformatan yang sesuai yang dapat dipahami oleh 1. Membuat string ini membutuhkan waktu dan membuat kode lebih sulit dibaca
Dalam beberapa kasus, pustaka pihak ketiga ini juga memiliki dukungan bawaan yang lebih baik untuk memanipulasi dan membandingkan tanggal-waktu, dan beberapa bahkan memiliki zona waktu bawaan, jadi Anda tidak perlu menyertakan paket PyTz tambahan Mari kita lihat beberapa perpustakaan ini di bagian berikut Modul dateutil adalah perpanjangan dari modul 8. Salah satu keuntungannya adalah kita tidak perlu meneruskan kode parsing apa pun untuk mengurai stringUntuk mengonversi string secara otomatis ke datetime tanpa token format menggunakan 1 Python 5Fungsi _3 ini akan mengurai string secara otomatis. Anda tidak harus menyertakan string format apa pun. Mari kita coba parsing berbagai jenis string menggunakan 1 6Keluaran 7Anda dapat melihat bahwa hampir semua jenis string dapat diurai dengan mudah menggunakan modul _______________1 Meskipun ini nyaman, ingat sebelumnya bahwa harus memprediksi format membuat kode jauh lebih lambat, jadi jika kode Anda memerlukan kinerja tinggi maka ini mungkin bukan pendekatan yang tepat untuk aplikasi Anda Maya juga membuatnya sangat mudah untuk mengurai string dan mengubah zona waktu. Untuk dengan mudah mengonversi string dengan Maya Python 8Keluaran _9Untuk mengonversi waktu ke zona waktu yang berbeda _______________0Keluaran _______________1Sekarang bukankah itu mudah digunakan? Keluaran Seperti yang Anda lihat, semua format tanggal berhasil diuraikan Jika kami tidak memberikan info zona waktu, itu secara otomatis mengubahnya menjadi UTC. Oleh karena itu, penting untuk diperhatikan bahwa kami harus memberikan parameter 8 dan 9 jika waktunya tidak dalam UTCArrow adalah perpustakaan lain untuk menangani datetime dengan Python. Dan seperti sebelumnya dengan _6, itu juga mengetahui format datetime secara otomatis. Setelah ditafsirkan, ia mengembalikan objek _8 Python dari objek 2Untuk dengan mudah mengubah string menjadi datetime menggunakan 2 Python_______________3Keluaran ___4Anda dapat menggunakan _2 untuk mengonversi zona waktu menggunakan metode 5_______________5Keluaran _______________6String dikonversi ke wilayah "Amerika/New_York". Sekarang, mari kita gunakan rangkaian string yang sama seperti yang telah kita gunakan di atas Kode ini akan gagal untuk string tanggal-waktu yang telah dikomentari, yang merupakan lebih dari separuh contoh kita. Output untuk string lainnya adalah _______________7Untuk mengurai dengan benar string tanggal-waktu yang dikomentari, Anda harus meneruskan token format yang sesuai untuk memberikan petunjuk perpustakaan tentang cara menguraikannya KesimpulanPada artikel ini kami telah menunjukkan berbagai cara untuk mengurai string ke objek 8 dengan Python. Anda dapat memilih perpustakaan Python _8 default atau salah satu perpustakaan pihak ketiga yang disebutkan dalam artikel ini, di antara banyak lainnyaMasalah utama dengan paket default _8 adalah kita perlu menentukan kode parsing secara manual untuk hampir semua format string tanggal-waktu. Jadi, jika format string Anda berubah di masa mendatang, Anda mungkin juga harus mengubah kode Anda. Tetapi banyak perpustakaan pihak ketiga, seperti yang disebutkan di sini, tidak menanganinya secara otomatisSatu lagi masalah yang kita hadapi adalah berurusan dengan zona waktu. Cara terbaik untuk menanganinya adalah selalu menyimpan waktu dalam database Anda sebagai format UTC dan kemudian mengonversinya ke zona waktu lokal pengguna bila diperlukan Pustaka ini tidak hanya bagus untuk parsing string, tetapi juga dapat digunakan untuk berbagai jenis operasi terkait tanggal-waktu. Saya mendorong Anda untuk membaca dokumentasi untuk mempelajari fungsionalitas secara detail Bagaimana cara mengonversi datetime ke UTC Python?Mendapatkan stempel waktu UTC
. tanggal Waktu. now() untuk mendapatkan tanggal dan waktu saat ini. Kemudian gunakan kelas tzinfo untuk mengonversi datetime kita menjadi UTC. use tzinfo class to convert our datetime to UTC.
Bagaimana cara mengonversi datetime ke UTC?Untuk mengonversi waktu di zona waktu non-lokal ke UTC, gunakan TimeZoneInfo. use the TimeZoneInfo. Metode ConvertTimeToUtc(DateTime, TimeZoneInfo) . Untuk mengonversi waktu yang offsetnya dari UTC diketahui, gunakan metode ToUniversalTime. Jika nilai instance tanggal dan waktu adalah waktu yang ambigu, metode ini mengasumsikan bahwa itu adalah waktu standar.
Bagaimana cara mengonversi datetime ke detik UTC dengan Python?Untuk mengonversi datetime menjadi detik, kurangi input datetime dari epoch time . Untuk Python, waktu zaman dimulai pada. 00. 00 UTC pada 1 Januari. Pengurangan memberi Anda objek timedelta. Gunakan metode total_seconds() dari objek timedelta untuk mendapatkan jumlah detik sejak Zaman.
Bagaimana cara mengonversi Naive Datetime ke UTC dengan Python?Untuk mengonversi waktu tanggal UTC yang naif, gunakan dt. ganti(tzinfo=pytz). utc) . ") |