Data Types
Standar library dari python yang berhubungan dengan tanggal dan waktu adalah;
- datetime
- calender
- zoneinfo
- time
Date
Import date
class dari datetime
Membuat objek dari class date
dan tipe data dari variabel yang menampung instansi dari class date
Dibawah ini adalah objek dari datetime.date
method ctime
mengembalikan current time dalam bentuk string
Method isoformat()
mengembalikna nilai string dalam bentuk format ISO 8601, YYYY-MM-DD.
Objek datetime.date
memliki day
, month
, dan year
mengembalikan nilai hari, bulan dan tahun tipe int
Metho timetuple
mengembalikan time tuple
Code
Method weekday
mengembalikan hari dari satu minggu dalam bentuk int,
- Monday
- Thursday
- Wednesday
- Tuesday
- Friday
- Saturday
- Sunday
Calendar
Kita dapat memanfaatkan method weekday
dengan eskalasi return value tersebut dengan dictionary calender.day_name
. Sebelum itu anda harus mengimport class calender terlebih dahulu
Time
Module time menyediakan beberapa fungsi untuk memanipulasi waktu. Berbicara tentang waktu, ada dua standar yang merepresentasi waktu;
-
Bilangan dalam bentuk detik (seconds) epoch, dalam UTC (GMT). Nilai tersebut dapat dalam bentuk integer atau floating point (pecahan). Nilai epoch telah terdefinisi, detik 0 menunjuk pada 01 Januari 1970.
-
Nilai-nilai dalam bentuk tuple berisikan 9 bilangan, seperit
year
,month
,day
,hours
,minutes
,seconds
,weekday
,julian day
(hari dalam satu tahun), dandst
(Day Light Saving Time, ditandai dengan -1, 0 atau 1)
Modul time memliki method ctime()
yang dapat mengkonversi detik epoch kedalam string dalam local time.
Modul ini juga memliki property daylight
yang mengembalikan 0 jika malam hari dan 1 jika siang hari.
Epoch time sendiri dapat diambil nilainya menggunakan method time()
Metohd gmtime()
akan mengkonversi epoch kedalam time tuple UTC. Jika method ini tidak diberikan sebuah parameter maka akan menggunakan current time waktu GMT.
Code
Code
Selain gmtime, modul ini juga memliki method yang sejenis namun tidak merepresentasi waktu GMT melainkan localtime, method tersebut adalah localtime
. Jika method ini tidak diberikan sebuah parameter maka akan menggunakan current time pada localtime.
Code
GMT (Greemwich Mean Time) adalah rata-rata waktu surya yang dilihat dari Royal Greenwich Observatory (Observatorium Kerajaan di Greenwich), yang terletak di Greenwich, London, Inggris, yang melalui konvensi dikenal terletak di 0 derajat garis bujur.
Perbedaan antara GMT dengan Western Indonesia Time (WIB) sekitar tujuh jam. Dapat dilihat di tm_hour dari snippet diatas. tm_hour dari fungsi gmtime() 10 dan dari localtime() adalah 17, selisih 7 jam.
Datetime
Dengan module datetime
ini, kita dapat mengambil nilai date
saja atau time
saja. Untuk membuat objek dari class ini dapat menggunakan 3 cara;
Info
Untuk menggunakan modul datetime
anda harus mengimportnya from datetime import datetime
-
Menggunakan method
now()
-
Menggunakan method
utcnow()
-
Memberikan 3 parementer wajin (
year
,month
, danday
) padadatetime()
Play With Datetime
Katakan kita ingin mengetahui perbedaan dari dua tanggal, anda dapat mengurangi objek datetime pertama dengan objek datetime lainnya.
Sebagai simulasi kita akan membuat datetime tanggal kelahiran Faris dan Noah dan kita ingin mengetahui perbedaan umur mereka
Code
from zoneinfo import ZoneInfo
dt_f = datetime(year=2021, month=10, day = 13, hour=0, minute=23, tzinfo=ZoneInfo("Asia/Jakarta"))
dt_n = datetime(year=2020, month=5, day = 11, hour=11, minute=30, tzinfo=ZoneInfo("Asia/Jakarta"))
diff = dt_f - dt_n
print(f'Selisih hari lahir Faris dan Noah {diff.days} hari')
print(f'Selisih detik lahir Faris dan Noah {diff.total_seconds()} hari')
Variabel dt_f dan dt_n diatas bertipe datetime.datetime, akan tetapi operasi pengurangan kedua tabel tersebut menghasilkan tipe data lain, yaitu timedelta.
Code
Timedelta adalah perbedaan nilai diatara dua nilai datetime
. Anda juga dapat membuat objek timedelta menggunakan constructor dari timedelta. Anda harus mengimport nya dengan script dibawah ini
Semua argumen untuk membuat objek timedelta opsional.
Misalkan, anda ingin megetahui umur Faris 5000 hari dari kelahiran sudah berapa tahun
Code
Parsing Between Different Date Tye
Liha lah tanggal ini 1977-11-24T19:30:13+01:00
, itu adalah tanggal standard internasional, ISO. Banyak aplikasi diluarsana menggunakan standard penulisan ini. Pertanyaan, lalu bagaimana jika ingin belerja dengan objek datetime pada python ?
Pythonn dapat mengkonversi tipe date iso format kedalam objek datetime python menggunakan method fromisoformat()
Code
Dan python juga dapat memformat timestamp kedalam datetime menggunakna method fromtimestamp()