Konversi string utc ke python datetime

Saya memiliki waktu tanggal di bawah ini dalam tipe string. Saya ingin mengubahnya menjadi UTC dengan offset

> spark = SparkSession.builder.appName("Test").enableHiveSupport().getOrCreate() > print("Print statement-1") > schema = StructType([ > StructField("author", StringType(), False), > StructField("dt", StringType(), False) > ]) > > data = [ > ["author1", "2022-07-22T09:25:47.261Z"], > ["author2", "2022-07-22T09:26:47.291Z"], > ["author3", "2022-07-22T09:23:47.411Z"], > ["author4", "2022-07-224T09:25:47.291Z"] > ] > > df = spark.createDataFrame(data, schema) > ``` I want to convert dt column as UTC with offset. For example the first row value as 2022-07-22T09:25:47.2610000 +00:00 How to do that in pyspark and sparkSQL. I can easily do that using regex_replace

df=df. withColumn("UTC",regexp_replace('dt', 'Z', '000 +00. 00'))

bcoz Z is same as +00:00. But I am not sure that regexp_replace is correct of doing the conversion. Is there any method which can do the correct conversion rather than regex_replace?_

Katakanlah kita memiliki objek datetime.datetime_ yang mewakili waktu tertentu (dalam zona waktu lokal mesin kita)

>>> import datetime >>> april_fools = datetime.datetime(2030, 4, 1, 10, 0)

Variabel april_fools itu menunjuk ke objek datetime yang mewakili pukul 10 pagi atau 1 April 2030 (dalam zona waktu lokal kami)

>>> april_fools datetime.datetime(2030, 4, 1, 10, 0)

Untuk mengonversi waktu ini ke UTC kita dapat menggunakan metode astimezone pada objek datetime.datetime kita

>>> utc_april_fools = april_fools.astimezone(datetime.timezone.utc) >>> utc_april_fools datetime.datetime(2030, 4, 1, 17, 0, tzinfo=datetime.timezone.utc) >>> print(utc_april_fools) 2030-04-01 17:00:00+00:00 _

Bagaimana jika kita ingin mengonversi waktu saat ini ke UTC?

Sementara objek ________ 130 _______ Python memang memiliki a

>>> datetime.datetime.utcnow() datetime.datetime(2030, 4, 1, 8, 15, 59, 89013)

Dokumentasi Python merekomendasikan untuk meneruskan zona waktu target (>>> april_fools datetime.datetime(2030, 4, 1, 10, 0) 2 dalam kasus kami) ke

Dalam tutorial ini, kita akan melihat cara mengurai string ke datetime menggunakan from datetime import datetime # convert yyyy-mm-dd string to date object dt_object = datetime.strptime("2021/06/27 09:15:32", "%Y/%m/%d %H:%M:%S").date() print(dt_object) # Output 2021-06-27 8 dengan berbagai kode pemformatan tanggal standar yang tersedia di Python. Selain itu, kita akan melihat metode serupa yang tersedia di modul lain untuk mengubah string menjadi objek from datetime import datetime # convert yyyy-mm-dd string to date object dt_object = datetime.strptime("2021/06/27 09:15:32", "%Y/%m/%d %H:%M:%S").date() print(dt_object) # Output 2021-06-27 9 atau d_object = datetime.strptime("2021/06/27", "%Y/%m/%d").date()0

Daftar Isi

Langkah-langkah untuk Mengonversi String ke DateTime dengan Python

Dalam beberapa kasus, tanggal dan waktu dapat diteruskan sebagai objek string. Untuk mengonversi string menjadi objek d_object = datetime.strptime("2021/06/27", "%Y/%m/%d").date()_1, kita dapat menggunakan fungsifrom datetime import datetime # convert yyyy-mm-dd string to date object dt_object = datetime.strptime("2021/06/27 09:15:32", "%Y/%m/%d %H:%M:%S").date() print(dt_object) # Output 2021-06-27 8 dari modul datetime

Misalnya, Anda mungkin perlu mengonversi string numerik seperti 05-13-2021 menjadi objek d_object = datetime.strptime("2021/06/27", "%Y/%m/%d").date()1. atau Anda ingin mengonversi string yang mewakili tanggal seperti Senin, 13 Mei 2021 menjadi objek d_object = datetime.strptime("2021/06/27", "%Y/%m/%d").date()1

Langkah-langkah di bawah ini menunjukkan cara mengonversi string yang mewakili tanggal menjadi objek datetime

  1. Impor modul datetime

    Modul datetime Python menyediakan fungsi yang menangani banyak fungsi kompleks yang melibatkan tanggal dan waktu
    Impor kelas d_object = datetime.strptime("2021/06/27", "%Y/%m/%d").date()_1 menggunakan pernyataan d_object = datetime.strptime("2021/06/27", "%Y/%m/%d").date()6

  2. Gunakan fungsi strptime() dari kelas datetime

    Gunakan d_object = datetime.strptime("2021/06/27", "%Y/%m/%d").date()_7 untuk mengonversi string tertentu menjadi objek d_object = datetime.strptime("2021/06/27", "%Y/%m/%d").date()1 sesuai d_object = datetime.strptime("2021/06/27", "%Y/%m/%d").date()9 yang sesuai
    Kode format adalah arahan standar untuk menyebutkan format string untuk parsing. Misalnya, kode format from datetime import datetime # Convert string to datetime.time object time_obj = datetime.strptime("12/06/2021 09:15:32", "%d/%m/%Y %H:%M:%S").time() print(time_obj) # Output 09:15:32_0 adalah untuk from datetime import datetime # Convert string to datetime.time object time_obj = datetime.strptime("12/06/2021 09:15:32", "%d/%m/%Y %H:%M:%S").time() print(time_obj) # Output 09:15:321

  3. Gunakan fungsi strptime() dari modul waktu

    Gunakan langkah ini jika Anda ingin mengubah string menjadi objek d_object = datetime.strptime("2021/06/27", "%Y/%m/%d").date()0. Gunakan fungsi from datetime import datetime # Convert string to datetime.time object time_obj = datetime.strptime("12/06/2021 09:15:32", "%d/%m/%Y %H:%M:%S").time() print(time_obj) # Output 09:15:32_3. Fungsi ini mengonversi waktu dalam format string menjadi objek d_object = datetime.strptime("2021/06/27", "%Y/%m/%d").date()0 dalam format from datetime import datetime # Convert string to datetime.time object time_obj = datetime.strptime("12/06/2021 09:15:32", "%d/%m/%Y %H:%M:%S").time() print(time_obj) # Output 09:15:325

strptime() untuk mengubah string menjadi DateTime

Contoh. Parsing String ke Datetime

Sintaksis

datetime.strptime(date_string, format)

Mari kita lihat dengan contoh di mana kita memiliki string yang mewakili tanggal dan waktu dalam format standar (from datetime import datetime # Convert string to datetime.time object time_obj = datetime.strptime("12/06/2021 09:15:32", "%d/%m/%Y %H:%M:%S").time() print(time_obj) # Output 09:15:326)

from datetime import datetime # Date String in dd/mm/yyyy HH:MM:SS format dt_string = "12/06/2021 09:15:32" # Convert string to datetime object dt_object = datetime.strptime(dt_string, "%d/%m/%Y %H:%M:%S") print(dt_object) # Output 2021-06-12 09:15:32

Lihat format Python Datetime menggunakan strftime() untuk mengonversi d_object = datetime.strptime("2021/06/27", "%Y/%m/%d").date()1 menjadi string

String ke Tanggal Obyek

  • Pertama, ubah string menjadi objek datetime menggunakan fungsi from datetime import datetime # convert yyyy-mm-dd string to date object dt_object = datetime.strptime("2021/06/27 09:15:32", "%Y/%m/%d %H:%M:%S").date() print(dt_object) # Output 2021-06-27 8
  • Gunakan fungsi from datetime import datetime # Convert string to datetime.time object time_obj = datetime.strptime("12/06/2021 09:15:32", "%d/%m/%Y %H:%M:%S").time() print(time_obj) # Output 09:15:32_9 untuk mengekstrak hanya objek from datetime import datetime # convert yyyy-mm-dd string to date object dt_object = datetime.strptime("2021/06/27 09:15:32", "%Y/%m/%d %H:%M:%S").date() print(dt_object) # Output 2021-06-27 9 dari instance datetime

Contoh

from datetime import datetime # convert yyyy-mm-dd string to date object dt_object = datetime.strptime("2021/06/27 09:15:32", "%Y/%m/%d %H:%M:%S").date() print(dt_object) # Output 2021-06-27

Catatan. Jika sebuah string mewakili tanggal tanpa waktu, gunakan hanya kode format t_object = datetime.strptime("11:45:23", "%H:%M:%S").time()1

d_object = datetime.strptime("2021/06/27", "%Y/%m/%d").date()_

String ke d_object = datetime.strptime("2021/06/27", "%Y/%m/%d").date()_0 Objek

Selain itu, Anda dapat menggunakan kelas t_object = datetime.strptime("11:45:23", "%H:%M:%S").time()_3 untuk mengubah string yang berisi waktu menjadi objek d_object = datetime.strptime("2021/06/27", "%Y/%m/%d").date()0

  • Pertama, ubah string menjadi objek d_object = datetime.strptime("2021/06/27", "%Y/%m/%d").date()_1
  • Gunakan fungsi ________33______6 untuk mengekstrak hanya objek d_object = datetime.strptime("2021/06/27", "%Y/%m/%d").date()0 dari instance datetime
from datetime import datetime # Convert string to datetime.time object time_obj = datetime.strptime("12/06/2021 09:15:32", "%d/%m/%Y %H:%M:%S").time() print(time_obj) # Output 09:15:32

Catatan. Jika string mewakili waktu tanpa tanggal, gunakan hanya kode format t_object = datetime.strptime("11:45:23", "%H:%M:%S").time()8

t_object = datetime.strptime("11:45:23", "%H:%M:%S").time()

String ke Objek d_object = datetime.strptime("2021/06/27", "%Y/%m/%d").date()_0 menggunakan Time Module

Kita dapat menggunakan metode time.strptime(string[, format])0() modul waktu untuk mengonversi waktu dalam format string menjadi objek waktu dalam format from datetime import datetime # Convert string to datetime.time object time_obj = datetime.strptime("12/06/2021 09:15:32", "%d/%m/%Y %H:%M:%S").time() print(time_obj) # Output 09:15:325

Sintaksis

time.strptime(string[, format])

Mari kita lihat dengan contoh di mana kita memiliki string yang menyebutkan waktu dalam format jam-menit-detik time.strptime(string[, format])2

Contoh

import time # time hours-minutes-seconds format time_string = "09-15-09" format_codes = "%H-%M-%S" time_obj = time.strptime(time_string, format_codes) print("Time Object", time_obj) print(type(time_obj))

Keluaran

Time Object time.struct_time(tm_year=1900, tm_mon=1, tm_mday=1, tm_hour=9, tm_min=15, tm_sec=9, tm_wday=0, tm_yday=1, tm_isdst=-1) <class 'time.struct_time'>

Bagaimana from datetime import datetime # convert yyyy-mm-dd string to date object dt_object = datetime.strptime("2021/06/27 09:15:32", "%Y/%m/%d %H:%M:%S").date() print(dt_object) # Output 2021-06-27 _8 bekerja?

Metode ini pada dasarnya mengubah string menjadi objek datetime sesuai format

Catatan. Jika argumen string yang diteruskan ke metode from datetime import datetime # convert yyyy-mm-dd string to date object dt_object = datetime.strptime("2021/06/27 09:15:32", "%Y/%m/%d %H:%M:%S").date() print(dt_object) # Output 2021-06-27 8 tidak cocok dengan format yang ditentukan, time.strptime(string[, format])5 akan dimunculkan.  

Pengecualian akan memiliki pesan kesalahan yang menunjukkan ketidakcocokan format atau data tambahan dalam string. Kami dapat menangkap kesalahan menggunakan penanganan pengecualian di dalam blok time.strptime(string[, format])6t

from datetime import datetime birthday = '23-02-2021 09:13:00' try: datetime_object = datetime.strptime(birthday, '%d-%m-%Y') except ValueError as message: print('A value error is raised because :', message)

Keluaran

from datetime import datetime # Date String in dd/mm/yyyy HH:MM:SS format dt_string = "12/06/2021 09:15:32" # Convert string to datetime object dt_object = datetime.strptime(dt_string, "%d/%m/%Y %H:%M:%S") print(dt_object) # Output 2021-06-12 09:15:32_0

from datetime import datetime # convert yyyy-mm-dd string to date object dt_object = datetime.strptime("2021/06/27 09:15:32", "%Y/%m/%d %H:%M:%S").date() print(dt_object) # Output 2021-06-27 8 Memformat Kode

from datetime import datetime # convert yyyy-mm-dd string to date object dt_object = datetime.strptime("2021/06/27 09:15:32", "%Y/%m/%d %H:%M:%S").date() print(dt_object) # Output 2021-06-27 _8 mengambil beberapa arahan standar untuk menyebutkan format string untuk parsing. Tabel berikut memberikan ringkasan arahan yang tersedia untuk fungsi from datetime import datetime # convert yyyy-mm-dd string to date object dt_object = datetime.strptime("2021/06/27 09:15:32", "%Y/%m/%d %H:%M:%S").date() print(dt_object) # Output 2021-06-27 8

Serangkaian arahan yang sama dibagi antara metode from datetime import datetime # convert yyyy-mm-dd string to date object dt_object = datetime.strptime("2021/06/27 09:15:32", "%Y/%m/%d %H:%M:%S").date() print(dt_object) # Output 2021-06-27 8 dan import time # time hours-minutes-seconds format time_string = "09-15-09" format_codes = "%H-%M-%S" time_obj = time.strptime(time_string, format_codes) print("Time Object", time_obj) print(type(time_obj))1

Sekarang kita dapat melihat lebih banyak kombinasi dengan contoh untuk lebih memahami arahan. Kode format di bawah berfungsi pada semua platform dengan implementasi C standar

DirectiveDescriptionExampleimport time # time hours-minutes-seconds format time_string = "09-15-09" format_codes = "%H-%M-%S" time_obj = time.strptime(time_string, format_codes) print("Time Object", time_obj) print(type(time_obj))2Hari dalam sebulan sebagai angka desimal tanpa bantalan. Min, Sen, …, Sab (en_US);
Jadi, Mo, …, Sa (de_DE)import time # time hours-minutes-seconds format time_string = "09-15-09" format_codes = "%H-%M-%S" time_obj = time.strptime(time_string, format_codes) print("Time Object", time_obj) print(type(time_obj))3Bulan dalam setahun sebagai angka desimal tanpa bantalan. Minggu, Senin, …, Sabtu (en_US);
Sonntag, Montag, …, Samstag (de_DE)import time # time hours-minutes-seconds format time_string = "09-15-09" format_codes = "%H-%M-%S" time_obj = time.strptime(time_string, format_codes) print("Time Object", time_obj) print(type(time_obj))4Tahun dengan abad dalam format empat digit0001, 2021, … , 9999import time # time hours-minutes-seconds format time_string = "09-15-09" format_codes = "%H-%M-%S" time_obj = time.strptime(time_string, format_codes) print("Time Object", time_obj) print(type(time_obj))5Tahun tanpa abad dalam format dua digit01, 21, …, 31import time # time hours-minutes-seconds format time_string = "09-15-09" format_codes = "%H-%M-%S" time_obj = time.strptime(time_string, format_codes) print("Time Object", time_obj) print(type(time_obj))6Nama lengkap hari kerja sesuai nama lokal
Minggu, …, Sabtu (en_US);
Sonntag, …, Samstag (de_DE)import time # time hours-minutes-seconds format time_string = "09-15-09" format_codes = "%H-%M-%S" time_obj = time.strptime(time_string, format_codes) print("Time Object", time_obj) print(type(time_obj))7Nama pendek hari kerja sebagai singkatan nama lokal. Matahari, …, Sab (en_US);
Jadi, …, Sa (de_DE)import time # time hours-minutes-seconds format time_string = "09-15-09" format_codes = "%H-%M-%S" time_obj = time.strptime(time_string, format_codes) print("Time Object", time_obj) print(type(time_obj))8Nama lengkap bulan sesuai nama lokalnyaJanuari, …, Desember (en_US);
Januar, …, Dezember (de_DE)import time # time hours-minutes-seconds format time_string = "09-15-09" format_codes = "%H-%M-%S" time_obj = time.strptime(time_string, format_codes) print("Time Object", time_obj) print(type(time_obj))9Nama pendek bulan sebagai singkatan nama lokal. Jan, …, Des (en_US);
Jan, …, Dez (de_DE)Time Object time.struct_time(tm_year=1900, tm_mon=1, tm_mday=1, tm_hour=9, tm_min=15, tm_sec=9, tm_wday=0, tm_yday=1, tm_isdst=-1) <class 'time.struct_time'>0Jam (24 jam) sebagai angka desimal tanpa bantalan. 01, 02, … , 23Time Object time.struct_time(tm_year=1900, tm_mon=1, tm_mday=1, tm_hour=9, tm_min=15, tm_sec=9, tm_wday=0, tm_yday=1, tm_isdst=-1) <class 'time.struct_time'>1Jam (jam 12 jam) sebagai angka desimal tanpa bantalan. 01, 02, …, 12Time Object time.struct_time(tm_year=1900, tm_mon=1, tm_mday=1, tm_hour=9, tm_min=15, tm_sec=9, tm_wday=0, tm_yday=1, tm_isdst=-1) <class 'time.struct_time'>_2Lokal yang setara dengan AM atau PM. AM, PM (en_US);
am, pm (de_DE)Time Object time.struct_time(tm_year=1900, tm_mon=1, tm_mday=1, tm_hour=9, tm_min=15, tm_sec=9, tm_wday=0, tm_yday=1, tm_isdst=-1) <class 'time.struct_time'>3Minute sebagai angka desimal tanpa bantalan. 00, 01, …, 59Time Object time.struct_time(tm_year=1900, tm_mon=1, tm_mday=1, tm_hour=9, tm_min=15, tm_sec=9, tm_wday=0, tm_yday=1, tm_isdst=-1) <class 'time.struct_time'>4Kedua sebagai angka desimal tanpa bantalan. 00, 01, …, 59Time Object time.struct_time(tm_year=1900, tm_mon=1, tm_mday=1, tm_hour=9, tm_min=15, tm_sec=9, tm_wday=0, tm_yday=1, tm_isdst=-1) <class 'time.struct_time'>5Mikrodetik sebagai angka desimal, dengan bantalan nol di sebelah kiri. 000000, 000001, …, 999999Time Object time.struct_time(tm_year=1900, tm_mon=1, tm_mday=1, tm_hour=9, tm_min=15, tm_sec=9, tm_wday=0, tm_yday=1, tm_isdst=-1) <class 'time.struct_time'>6UTC offset dalam bentuk Time Object time.struct_time(tm_year=1900, tm_mon=1, tm_mday=1, tm_hour=9, tm_min=15, tm_sec=9, tm_wday=0, tm_yday=1, tm_isdst=-1) <class 'time.struct_time'>7 (string kosong jika objek naif). (kosong), +0000, -0400, +1030, +063415, -030712. 345216Time Object time.struct_time(tm_year=1900, tm_mon=1, tm_mday=1, tm_hour=9, tm_min=15, tm_sec=9, tm_wday=0, tm_yday=1, tm_isdst=-1) <class 'time.struct_time'>8Nama zona waktu (string kosong jika objek naif)
(kosong), UTC, GMTTime Object time.struct_time(tm_year=1900, tm_mon=1, tm_mday=1, tm_hour=9, tm_min=15, tm_sec=9, tm_wday=0, tm_yday=1, tm_isdst=-1) <class 'time.struct_time'>9Hari dalam setahun sebagai angka desimal tanpa bantalan. 001, 002, …, 366from datetime import datetime birthday = '23-02-2021 09:13:00' try: datetime_object = datetime.strptime(birthday, '%d-%m-%Y') except ValueError as message: print('A value error is raised because :', message)0Angka minggu dalam setahun (Minggu sebagai hari pertama dalam seminggu) sebagai angka desimal tanpa bantalan. Semua hari di tahun baru sebelum hari Minggu pertama dianggap di minggu 0. 00, 01, …, 53from datetime import datetime birthday = '23-02-2021 09:13:00' try: datetime_object = datetime.strptime(birthday, '%d-%m-%Y') except ValueError as message: print('A value error is raised because :', message)_1Angka minggu dalam setahun (Senin sebagai hari pertama dalam seminggu) sebagai angka desimal. Semua hari di tahun baru sebelum Senin pertama dianggap di minggu 0. 00, 01, …, 53from datetime import datetime birthday = '23-02-2021 09:13:00' try: datetime_object = datetime.strptime(birthday, '%d-%m-%Y') except ValueError as message: print('A value error is raised because :', message)_2Representasi tanggal dan waktu yang sesuai dari lokal. Sel 16 Agustus 21. 30. 00 1988 (en_US);
Di 16 Agustus 21. 30. 00 1988 (de_DE)from datetime import datetime birthday = '23-02-2021 09:13:00' try: datetime_object = datetime.strptime(birthday, '%d-%m-%Y') except ValueError as message: print('A value error is raised because :', message)3Representasi tanggal yang sesuai dari lokal. 16/08/88 (Tidak ada);
16/08/1988 (en_US);
16. 08. 1988 (de_DE)from datetime import datetime birthday = '23-02-2021 09:13:00' try: datetime_object = datetime.strptime(birthday, '%d-%m-%Y') except ValueError as message: print('A value error is raised because :', message)4Representasi waktu lokal yang sesuai. 21. 30. 00 (en_US);
21. 30. 00 (de_DE)from datetime import datetime birthday = '23-02-2021 09:13:00' try: datetime_object = datetime.strptime(birthday, '%d-%m-%Y') except ValueError as message: print('A value error is raised because :', message)_5A literal from datetime import datetime birthday = '23-02-2021 09:13:00' try: datetime_object = datetime.strptime(birthday, '%d-%m-%Y') except ValueError as message: print('A value error is raised because :', message)6 karakter. %strptime() Kode format tanggal

String dengan Nama Hari dan Bulan ke Datetime

Kita dapat mengurai string dengan hari kerja penuh atau disingkat dan nama bulan penuh atau disingkat ke objek d_object = datetime.strptime("2021/06/27", "%Y/%m/%d").date()1 menggunakan kode format berikut

  • import time # time hours-minutes-seconds format time_string = "09-15-09" format_codes = "%H-%M-%S" time_obj = time.strptime(time_string, format_codes) print("Time Object", time_obj) print(type(time_obj))_6. Mengembalikan nama lengkap hari kerja. Seperti, Senin, Selasa
  • import time # time hours-minutes-seconds format time_string = "09-15-09" format_codes = "%H-%M-%S" time_obj = time.strptime(time_string, format_codes) print("Time Object", time_obj) print(type(time_obj))_7. Mengembalikan nama pendek hari kerja (Tiga karakter pertama. ). Seperti, Sen, Sel
  • import time # time hours-minutes-seconds format time_string = "09-15-09" format_codes = "%H-%M-%S" time_obj = time.strptime(time_string, format_codes) print("Time Object", time_obj) print(type(time_obj))_8. Mengembalikan nama lengkap bulan. Seperti, Juni, Maret
  • import time # time hours-minutes-seconds format time_string = "09-15-09" format_codes = "%H-%M-%S" time_obj = time.strptime(time_string, format_codes) print("Time Object", time_obj) print(type(time_obj))_9. Mengembalikan nama pendek bulan (Tiga karakter pertama. ). Seperti, Mar, Jun

Contoh 1. String dengan Nama Hari dan Bulan Penuh

from datetime import datetime # Date String in dd/mm/yyyy HH:MM:SS format dt_string = "12/06/2021 09:15:32" # Convert string to datetime object dt_object = datetime.strptime(dt_string, "%d/%m/%Y %H:%M:%S") print(dt_object) # Output 2021-06-12 09:15:32_1

Contoh 2. String dengan Nama Hari dan Bulan yang disingkat

from datetime import datetime # Date String in dd/mm/yyyy HH:MM:SS format dt_string = "12/06/2021 09:15:32" # Convert string to datetime object dt_object = datetime.strptime(dt_string, "%d/%m/%Y %H:%M:%S") print(dt_object) # Output 2021-06-12 09:15:32_2

Parsing String dengan AM/PM ke Datetime

Kita dapat mengurai string dengan detail AM/PM ke objek d_object = datetime.strptime("2021/06/27", "%Y/%m/%d").date()1 menggunakan arahan format Time Object time.struct_time(tm_year=1900, tm_mon=1, tm_mday=1, tm_hour=9, tm_min=15, tm_sec=9, tm_wday=0, tm_yday=1, tm_isdst=-1) <class 'time.struct_time'>2

from datetime import datetime # Date String in dd/mm/yyyy HH:MM:SS format dt_string = "12/06/2021 09:15:32" # Convert string to datetime object dt_object = datetime.strptime(dt_string, "%d/%m/%Y %H:%M:%S") print(dt_object) # Output 2021-06-12 09:15:32_3

Parse String dengan Timezone ke Datetime

Kita dapat mengonversi string dengan informasi offset yang direpresentasikan sebagai timedelta (+/-) atau dengan nama zona waktu ke objek d_object = datetime.strptime("2021/06/27", "%Y/%m/%d").date()1 menggunakan arahan format Time Object time.struct_time(tm_year=1900, tm_mon=1, tm_mday=1, tm_hour=9, tm_min=15, tm_sec=9, tm_wday=0, tm_yday=1, tm_isdst=-1) <class 'time.struct_time'>6 dan Time Object time.struct_time(tm_year=1900, tm_mon=1, tm_mday=1, tm_hour=9, tm_min=15, tm_sec=9, tm_wday=0, tm_yday=1, tm_isdst=-1) <class 'time.struct_time'>8

Membaca. Bekerja dengan Zona Waktu dengan Python

Contoh

from datetime import datetime # Date String in dd/mm/yyyy HH:MM:SS format dt_string = "12/06/2021 09:15:32" # Convert string to datetime object dt_object = datetime.strptime(dt_string, "%d/%m/%Y %H:%M:%S") print(dt_object) # Output 2021-06-12 09:15:32_4

Keluaran

from datetime import datetime # Date String in dd/mm/yyyy HH:MM:SS format dt_string = "12/06/2021 09:15:32" # Convert string to datetime object dt_object = datetime.strptime(dt_string, "%d/%m/%Y %H:%M:%S") print(dt_object) # Output 2021-06-12 09:15:32_5

Parsing String dengan Lokal ke DateTime

Kita dapat memahami dari arahan bahwa metode from datetime import datetime # convert yyyy-mm-dd string to date object dt_object = datetime.strptime("2021/06/27 09:15:32", "%Y/%m/%d %H:%M:%S").date() print(dt_object) # Output 2021-06-27 _8 mendukung lokal AS en_US dan lokal Jerman de_DE

Contoh

from datetime import datetime # Date String in dd/mm/yyyy HH:MM:SS format dt_string = "12/06/2021 09:15:32" # Convert string to datetime object dt_object = datetime.strptime(dt_string, "%d/%m/%Y %H:%M:%S") print(dt_object) # Output 2021-06-12 09:15:32_6

Parsing String dalam format Tanggal ISO 8601

Kita dapat mengurai objek string dengan tanggal dalam format ISO 8601 menggunakan metode from datetime import datetime # convert yyyy-mm-dd string to date object dt_object = datetime.strptime("2021/06/27 09:15:32", "%Y/%m/%d %H:%M:%S").date() print(dt_object) # Output 2021-06-27 8 di mana offset dapat diurai menggunakan direktif format Time Object time.struct_time(tm_year=1900, tm_mon=1, tm_mday=1, tm_hour=9, tm_min=15, tm_sec=9, tm_wday=0, tm_yday=1, tm_isdst=-1) <class 'time.struct_time'>6

from datetime import datetime # Date String in dd/mm/yyyy HH:MM:SS format dt_string = "12/06/2021 09:15:32" # Convert string to datetime object dt_object = datetime.strptime(dt_string, "%d/%m/%Y %H:%M:%S") print(dt_object) # Output 2021-06-12 09:15:32_7

Keluaran

from datetime import datetime # Date String in dd/mm/yyyy HH:MM:SS format dt_string = "12/06/2021 09:15:32" # Convert string to datetime object dt_object = datetime.strptime(dt_string, "%d/%m/%Y %H:%M:%S") print(dt_object) # Output 2021-06-12 09:15:32_8

Mengkonversi String ke TimeStamp

  • Pertama, gunakan metode from datetime import datetime # convert yyyy-mm-dd string to date object dt_object = datetime.strptime("2021/06/27 09:15:32", "%Y/%m/%d %H:%M:%S").date() print(dt_object) # Output 2021-06-27 _8 untuk mengubah objek string menjadi d_object = datetime.strptime("2021/06/27", "%Y/%m/%d").date()1
  • Selanjutnya, gunakan fungsi from datetime import datetime # Date String in dd/mm/yyyy HH:MM:SS format dt_string = "12/06/2021 09:15:32" # Convert string to datetime object dt_object = datetime.strptime(dt_string, "%d/%m/%Y %H:%M:%S") print(dt_object) # Output 2021-06-12 09:15:32_12 untuk mengekstrak informasi stempel waktu

Contoh

from datetime import datetime # Date String in dd/mm/yyyy HH:MM:SS format dt_string = "12/06/2021 09:15:32" # Convert string to datetime object dt_object = datetime.strptime(dt_string, "%d/%m/%Y %H:%M:%S") print(dt_object) # Output 2021-06-12 09:15:32_9

Parsing String Tanggal dengan pustaka Python lainnya

Sementara modul datetime from datetime import datetime # convert yyyy-mm-dd string to date object dt_object = datetime.strptime("2021/06/27 09:15:32", "%Y/%m/%d %H:%M:%S").date() print(dt_object) # Output 2021-06-27 _8 menangani sebagian besar format tanggal, ada beberapa kelemahan, seperti yang disebutkan di bawah ini

  • Kita perlu mengimpor banyak modul seperti d_object = datetime.strptime("2021/06/27", "%Y/%m/%d").date()1, d_object = datetime.strptime("2021/06/27", "%Y/%m/%d").date()0, from datetime import datetime # Date String in dd/mm/yyyy HH:MM:SS format dt_string = "12/06/2021 09:15:32" # Convert string to datetime object dt_object = datetime.strptime(dt_string, "%d/%m/%Y %H:%M:%S") print(dt_object) # Output 2021-06-12 09:15:3216, from datetime import datetime # Date String in dd/mm/yyyy HH:MM:SS format dt_string = "12/06/2021 09:15:32" # Convert string to datetime object dt_object = datetime.strptime(dt_string, "%d/%m/%Y %H:%M:%S") print(dt_object) # Output 2021-06-12 09:15:3217, dan lainnya untuk menangani beberapa format tanggal yang rumit
  • Menangani zona waktu yang naif dan sadar itu rumit
  • Mengurai informasi dan format lokal yang berbeda seperti ISO 8601 rawan kesalahan

Parsing String ke DateTime Menggunakan dateutil

Modul dateutil menawarkan parser untuk mengurai string tanggal yang menawarkan parser generik yang mem-parsing hampir semua format tanggal/waktu yang diketahui tersedia

Catatan. Ini adalah modul pihak ketiga yang perlu Anda instal secara terpisah menggunakan perintah pip

from datetime import datetime # convert yyyy-mm-dd string to date object dt_object = datetime.strptime("2021/06/27 09:15:32", "%Y/%m/%d %H:%M:%S").date() print(dt_object) # Output 2021-06-27 0

Jika tanggalnya ambigu i. e;

  • Jika AM atau PM dibiarkan tidak ditentukan, jam 24 jam diasumsikan;
  • Jika string tanggal dilewatkan tanpa informasi zona waktu, maka objek naif akan dibuat
  • Jika ada informasi lain yang hilang, maka nilai parameter default dari objek from datetime import datetime # Date String in dd/mm/yyyy HH:MM:SS format dt_string = "12/06/2021 09:15:32" # Convert string to datetime object dt_object = datetime.strptime(dt_string, "%d/%m/%Y %H:%M:%S") print(dt_object) # Output 2021-06-12 09:15:3218 digunakan. Jika ini menghasilkan jumlah hari yang melebihi jumlah hari yang valid per bulan, nilainya turun kembali ke akhir bulan
from datetime import datetime # convert yyyy-mm-dd string to date object dt_object = datetime.strptime("2021/06/27 09:15:32", "%Y/%m/%d %H:%M:%S").date() print(dt_object) # Output 2021-06-27 1

Keluaran

from datetime import datetime # convert yyyy-mm-dd string to date object dt_object = datetime.strptime("2021/06/27 09:15:32", "%Y/%m/%d %H:%M:%S").date() print(dt_object) # Output 2021-06-27 2

Parsing String ke DateTime Menggunakan Arrow

Arrow adalah pustaka Python lain yang membantu membuat objek tanggal dan waktu dengan lebih sedikit impor dan kode lebih sedikit. API ini memungkinkan menjembatani kesenjangan dalam membuat, memformat, dan memodifikasi tanggal, waktu, dan stempel waktu

Panah membantu dalam mem-parsing format string tanggal dan menyederhanakan pembuatan UTC secara default atau objek sadar zona waktu

Pertama-tama kita perlu menginstal panah menggunakan from datetime import datetime # Date String in dd/mm/yyyy HH:MM:SS format dt_string = "12/06/2021 09:15:32" # Convert string to datetime object dt_object = datetime.strptime(dt_string, "%d/%m/%Y %H:%M:%S") print(dt_object) # Output 2021-06-12 09:15:3219

from datetime import datetime # convert yyyy-mm-dd string to date object dt_object = datetime.strptime("2021/06/27 09:15:32", "%Y/%m/%d %H:%M:%S").date() print(dt_object) # Output 2021-06-27 3

Contoh

Gunakan metode from datetime import datetime # Date String in dd/mm/yyyy HH:MM:SS format dt_string = "12/06/2021 09:15:32" # Convert string to datetime object dt_object = datetime.strptime(dt_string, "%d/%m/%Y %H:%M:%S") print(dt_object) # Output 2021-06-12 09:15:32_20 untuk mengurai string hingga saat ini

from datetime import datetime # convert yyyy-mm-dd string to date object dt_object = datetime.strptime("2021/06/27 09:15:32", "%Y/%m/%d %H:%M:%S").date() print(dt_object) # Output 2021-06-27 4

Parsing String to Date menggunakan Maya

Maya adalah pustaka Python lain terutama untuk menangani lokal yang berbeda di sistem yang berbeda. Ini sangat membantu ketika kode yang sama harus dimigrasikan ke sistem operasi di zona waktu yang berbeda

Kita perlu menginstal Maya menggunakan perintah pip berikut

from datetime import datetime # convert yyyy-mm-dd string to date object dt_object = datetime.strptime("2021/06/27 09:15:32", "%Y/%m/%d %H:%M:%S").date() print(dt_object) # Output 2021-06-27 5

Untuk mem-parsing objek string hingga saat ini, kita perlu menggunakan metode from datetime import datetime # Date String in dd/mm/yyyy HH:MM:SS format dt_string = "12/06/2021 09:15:32" # Convert string to datetime object dt_object = datetime.strptime(dt_string, "%d/%m/%Y %H:%M:%S") print(dt_object) # Output 2021-06-12 09:15:3221() dan metode from datetime import datetime # Date String in dd/mm/yyyy HH:MM:SS format dt_string = "12/06/2021 09:15:32" # Convert string to datetime object dt_object = datetime.strptime(dt_string, "%d/%m/%Y %H:%M:%S") print(dt_object) # Output 2021-06-12 09:15:3222 untuk membuat objek datetime

Bagaimana cara mengonversi string ke waktu UTC dengan Python?

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

Bagaimana cara mengubah stempel waktu UTC menjadi tanggal dengan Python?

Konversikan waktu Unix (Epoch time) ke datetime. fromtimestamp() .
impor datetime dt = datetime. tanggal Waktu. .
dt_utc_aware = waktu. tanggal Waktu. .
dt_utc_naive = waktu. tanggal Waktu. .
cetak(dt) #1970-01-01 09. 00. 00 cetak (tanggal. cap waktu()) # 0. 0 cetak(ketik(dt. .
cetak(dt_utc_aware) # 1970-01-01 00. 00. 00+00. 00 cetak(dt_utc_aware

Bagaimana cara mengonversi string menjadi datetime dengan Python?

Ubah String menjadi objek datetime menggunakan datetime. strptime() Tanggal waktu. metode strptime() mengembalikan objek datetime yang cocok dengan date_string yang diuraikan oleh format. Kedua argumen diperlukan dan harus berupa string.

Bagaimana Anda mengonversi UTC ke tanggal dan waktu?

Tambahkan selisih waktu lokal ke waktu UTC . Misalnya, jika selisih waktu lokal Anda adalah -5. 00, dan jika waktu UTC ditampilkan sebagai 11. 00, tambahkan -5 ke 11. Pengaturan waktu saat disesuaikan untuk offset adalah 06. 00 (6. 00 A. M. ). Catatan Tanggal juga mengikuti format UTC.

Postingan terbaru

LIHAT SEMUA