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 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 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:32
    1

  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:32
    5

Konversi string utc ke python datetime
Konversi string utc ke python datetime
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:32
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

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:32
5

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

DirectiveDescriptionExample
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))
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, … , 9999
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))
5Tahun tanpa abad dalam format dua digit01, 21, …, 31
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))
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, … , 23
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'>
1Jam (jam 12 jam) sebagai angka desimal tanpa bantalan. 01, 02, …, 12
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'>
_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, …, 59
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'>
4Kedua sebagai angka desimal tanpa bantalan. 00, 01, …, 59
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'>
5Mikrodetik sebagai angka desimal, dengan bantalan nol di sebelah kiri. 000000, 000001, …, 999999
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'>
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. 345216
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'>
8Nama zona waktu (string kosong jika objek naif)
(kosong), UTC, GMT
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'>
9Hari dalam setahun sebagai angka desimal tanpa bantalan. 001, 002, …, 366
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)
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, …, 53
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)
_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, …, 53
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)
_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:32
    16,
    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
    17, 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:32
    18 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:32
19

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:32
21() 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:32
22 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.