Python mengkonversi string ke datetime dengan zona waktu

Cara termudah dalam tanggal dan waktu Python untuk menangani zona waktu adalah dengan menggunakan modul pytz. Pustaka ini memungkinkan perhitungan zona waktu yang akurat dan lintas platform. pytz membawa basis data Olson tz ke dalam Python. Ini juga memecahkan masalah waktu ambigu di akhir waktu musim panas, yang dapat Anda baca lebih lanjut di Referensi Perpustakaan Python (datetime. tzinfo)

Sebelum Anda menggunakannya, Anda harus menginstalnya menggunakan −

pip install pytz

Metode 1. Menggunakan fungsi astimezone()

Algoritma (Langkah)

Berikut ini adalah Algoritma/langkah yang harus diikuti untuk melakukan tugas yang diinginkan −

  • Gunakan kata kunci impor, untuk mengimpor datetime (Untuk bekerja dengan tanggal dan waktu, Python memiliki modul yang disebut modul datetime).

  • Gunakan kata kunci impor, untuk mengimpor zona waktu dari modul pytz

  • Masukkan format tanggal sebagai string menggunakan fungsi input() dan buat variabel untuk menyimpannya

  • Dapatkan waktu saat ini menggunakan datetime. 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. fungsi astimezone() (The datetime. fungsi astimezone() digunakan untuk memodifikasi objek kelas datetime dalam modul datetime) dengan meneruskan zona waktu baru sebagai argumennya

  • Format DateTime yang dikonversi di atas menggunakan strftime() dan cetak

Contoh

Program berikut mengembalikan waktu saat ini setelah dikonversi ke zona waktu lain menggunakan fungsi astimezone()

Keluaran

Saat dijalankan, program di atas akan menghasilkan keluaran berikut -

Current Time in UTC TimeZone: 2022-09-07 04:23:21 UTC+0000
Current Time in Asia/Kolkata TimeZone: 2022-09-07 09:53:21 IST+0530
_

Metode 2. Menggunakan datetime. sekarang() fungsi

Algoritma (Langkah)

Berikut ini adalah Algoritma/langkah yang harus diikuti untuk melakukan tugas yang diinginkan −

  • Gunakan kata kunci impor, untuk mengimpor datetime (Untuk bekerja dengan tanggal dan waktu, Python memiliki modul yang disebut modul datetime).

  • Gunakan kata kunci impor, untuk mengimpor zona waktu dari modul pytz

  • Berikan format waktu tanggal sebagai string dan simpan dalam variabel

  • Dapatkan zona waktu Asia/Kolkata standar menggunakan fungsi zona waktu() (mendapatkan zona waktu dari lokasi tertentu) dari modul pytz dengan meneruskan zona waktu Asia/Kolkata sebagai argumen dan menyimpan hasilnya dalam variabel

  • Dapatkan zona waktu AS/Timur standar menggunakan fungsi zona waktu() dari modul pytz dengan meneruskan zona waktu AS/Timur sebagai argumen untuknya dan menyimpan hasilnya dalam sebuah variabel

  • Dapatkan waktu saat ini menggunakan datetime. fungsi now() (mengembalikan tanggal dan waktu lokal saat ini) dan meneruskan zona waktu pertama di atas i. e objek zona waktu asia/kolkata sebagai argumen untuk itu (Di sini ia mengonversi tanggal dan waktu saat ini ke zona waktu asia/kolkata)

  • Gunakan fungsi strftime() (mengembalikan string yang mewakili objek datetime berdasarkan kode format) untuk memformat objek datetime di atas dan mencetaknya

strftime(format)
  • Dapatkan waktu saat ini menggunakan datetime. fungsi now() dan meneruskan zona waktu kedua di atas i. e Zona waktu 'AS/Timur' sebagai argumen untuk itu (Di sini ia mengonversi tanggal dan waktu saat ini ke zona waktu 'AS/Timur')

  • Gunakan fungsi strftime() untuk memformat objek datetime di atas dan mencetaknya

Contoh

Program berikut mengembalikan waktu saat ini setelah dikonversi ke zona waktu lain menggunakan fungsi astimezone()

Keluaran

Saat dijalankan, program di atas akan menghasilkan keluaran berikut -

Original Date & Time: in Asia/Kolkata 2022-09-07 10:00:49 IST+0530
Converted Date & Time: in US/Eastern TimeZone 2022-09-07 00:30:49 EDT-0400

Kesimpulan

Kami belajar cara mengonversi tanggal dan waktu dengan zona waktu berbeda di Python di artikel ini. Fungsi timedelta() digunakan untuk mendapatkan objek zona waktu. Kami belajar bagaimana menggunakan datetime. now() berfungsi untuk mendapatkan tanggal dan waktu saat ini. Kita juga belajar bagaimana menggunakan fungsi strftime() untuk memformat objek datetime

Pernahkah Anda mencoba mengerjakan fitur datetime dalam kumpulan data?

Mengonversi string ke objek datetime dengan Python telah menjadi praktik umum bagi ilmuwan data, terutama dalam proyek deret waktu. Melakukan ini seringkali sulit karena berbagai format tanggal - panjang bulan yang berbeda, variasi zona waktu, dll

Untuk mengatasi ini, Python menyediakan tipe data spesifik yang disebut "datetime". Namun di banyak kumpulan data, tanggal mungkin direpresentasikan sebagai string. Resep ini menunjukkan cara mengonversi string tanggal ke format datetime

tanggal Waktu. strptime adalah rutinitas utama untuk mem-parsing string ke dalam datetimes. tanggal Waktu. strptime(string_tanggal, format)

Setelah Anda memiliki nilai Anda dalam objek datetime, Anda kemudian dapat mengekstrak komponen tertentu dari tanggal seperti bulan, hari, atau tahun, yang semuanya tersedia sebagai atribut objek.

Jadi ini resep bagaimana kita bisa mengubah string menjadi DateTime dengan Python. Dalam hal ini kita akan melakukan ini dengan menggunakan tiga fungsi yang berbeda

Langkah 1 - Impor perpustakaan

from datetime import datetime from dateutil.parser import parse import pandas as pd_

Kami telah mengimpor datetime, parse, dan panda. Tiga modul ini akan diperlukan

Metode 1 - Mengubah String menjadi DateTime

Pertama-tama kita telah mendefinisikan objek yang disebut date_start di mana kita telah menyimpan sebuah string dalam format %Y-%m-%d. Kemudian kami mencoba untuk mencetaknya sebagai DateTime Stamp dengan menggunakan fungsi datetime. strptime. date_start = '2020-01-01' print(datetime.strptime(date_start, '%Y-%m-%d'))

Metode 2 - Mengubah String menjadi DateTime

Kami telah membuat daftar tanggal dalam format %m/%d/%y dan menggunakan fungsi parse pada semua nilai date_list untuk mengonversinya dalam format datetime64. date_list = ['2/7/2027', '6/8/2019', '10/25/2020', '6/29/2018', '2/5/2022'] print([parse(x) for x in date_list])_

Metode 3 - Mengubah String menjadi DateTime

Kami telah membuat kamus nilai dan meneruskan fungsi pd. DataFrame untuk mengubahnya menjadi DataFrame dengan kolom tanggal dan nilai. Kemudian kami telah memeriksa tipe data dalam kerangka data (yaitu objek) dan untuk mengubahnya ke format datetime, kami telah menggunakan pd. fungsi to_datetime. data = {'date': ['2020-05-01 18:47:05.069722', '2016-01-01 18:47:05.119994', '2014-02-05 18:47:05.178768', '2018-04-02 18:47:05.230071', '2018-04-06 18:47:05.230071', '2019-08-02 18:47:05.280592', '2019-07-01 18:47:05.332662', '2011-03-03 18:47:05.385109', '2024-04-09 18:47:05.436523', '2015-04-04 18:47:05.486877'], 'value': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} df = pd.DataFrame(data, columns = ['date', 'value']) print(df.dtypes) print(pd.to_datetime(df['date'])) print(pd.to_datetime(df['date']).dtypes) Jadi hasil akhir dari semua metode adalah

Bagaimana cara mengonversi string dengan zona waktu ke waktu dengan Python?

Untuk mengubah string waktu menjadi objek datetime, datetime. strptime() fungsi modul datetime digunakan . Fungsi ini mengembalikan objek datetime.

Bagaimana cara mengonversi tanggal ke waktu dengan zona waktu di Python?

Dapatkan waktu saat ini menggunakan datetime. 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

Bagaimana cara mengonversi string menjadi stempel waktu dengan Python?

Impor perpustakaan datetime. Gunakan waktu tanggal. kelas datetime untuk menangani kombinasi tanggal dan waktu. Gunakan metode strptime untuk mengonversi datetime string menjadi datetime objek .

Bagaimana cara mengubah string menjadi datetime tanpa format dengan Python?

Untuk mengonversi string menjadi objek datetime, kita dapat menggunakan fungsi strptime() dari modul datetime . Misalnya, Anda mungkin perlu mengonversi string numerik seperti 13-05-2021 menjadi objek datetime. atau Anda ingin mengonversi string yang mewakili tanggal seperti Senin, 13 Mei 2021 menjadi objek datetime.