Python
Pada artikel ini, Anda akan belajar memanipulasi tanggal dan waktu dengan Python dengan bantuan contoh.
Python memiliki modul bernama datetime untuk bekerja dengan tanggal dan waktu. Mari kita buat beberapa program sederhana yang berhubungan dengan tanggal dan waktu sebelum kita menggali lebih dalam.
import datetime
datetime_object = datetime.datetime.now()
print(datetime_object)
Saat Anda menjalankan program, outputnya akan seperti:
2018-12-19 09:26:03.478039
Di sini, kami telah mengimpor datetime modul menggunakan import datetime
pernyataan.
Salah satu kelas yang didefinisikan dalam datetime
modulnya adalah datetime
kelas. Kami kemudian menggunakan now()
metode untuk membuat datetime
objek yang berisi tanggal dan waktu lokal saat ini.
import datetime
date_object = datetime.date.today()
print(date_object)
Saat Anda menjalankan program, outputnya akan seperti:
2018-12-19
Dalam program ini, kami telah menggunakan today()
metode yang didefinisikan dalam date
kelas untuk mendapatkan date
objek yang berisi tanggal lokal saat ini.
Apa yang ada di dalam datetime?
Kita bisa menggunakan fungsi dir() untuk mendapatkan daftar yang berisi semua atribut dari sebuah modul.
import datetime
print(dir(datetime))
Saat Anda menjalankan program, outputnya adalah:
['MAXYEAR', 'MINYEAR', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_divide_and_round', 'date', 'datetime', 'datetime_CAPI', 'time', 'timedelta', 'timezone', 'tzinfo']
Kelas yang umum digunakan dalam modul datetime adalah:
Anda dapat membuat instance date
objek dari date
kelas. Objek tanggal mewakili tanggal (tahun, bulan, dan hari).
import datetime
d = datetime.date(2019, 4, 13)
print(d)
Saat Anda menjalankan program, outputnya adalah:
2019-04-13
Jika Anda bertanya-tanya, date()
dalam contoh di atas adalah konstruktor dari date
kelas. Konstruktor mengambil tiga argumen:tahun, bulan, dan hari.
Variabel a adalah date
objek.
Kami hanya dapat mengimpor date
kelas dari datetime
modul. Begini caranya:
from datetime import date
a = date(2019, 4, 13)
print(a)
Anda dapat membuat date
objek yang berisi tanggal saat ini dengan menggunakan metode kelas bernama today()
. Begini caranya:
from datetime import date
today = date.today()
print("Current date =", today)
Kami juga dapat membuat date
objek dari stempel waktu. Stempel waktu Unix adalah jumlah detik antara tanggal tertentu dan 1 Januari 1970 di UTC. Anda dapat mengonversi stempel waktu menjadi tanggal menggunakan fromtimestamp()
metode.
from datetime import date
timestamp = date.fromtimestamp(1326244364)
print("Date =", timestamp)
Saat Anda menjalankan program, outputnya adalah:
Date = 2012-01-11
Kita bisa mendapatkan tahun, bulan, hari, hari dalam seminggu dll dari objek tanggal dengan mudah. Begini caranya:
from datetime import date
# date object of today's date
today = date.today()
print("Current year:", today.year)
print("Current month:", today.month)
print("Current day:", today.day)
Objek waktu yang dibuat dari time
kelas mewakili waktu lokal.
from datetime import time
# time(hour = 0, minute = 0, second = 0)
a = time()
print("a =", a)
# time(hour, minute and second)
b = time(11, 34, 56)
print("b =", b)
# time(hour, minute and second)
c = time(hour = 11, minute = 34, second = 56)
print("c =", c)
# time(hour, minute, second, microsecond)
d = time(11, 34, 56, 234566)
print("d =", d)
Saat Anda menjalankan program, outputnya adalah:
a = 00:00:00 b = 11:34:56 c = 11:34:56 d = 11:34:56.234566
Setelah Anda membuat time
objek, Anda dapat dengan mudah mencetak atributnya seperti jam , menit dll.
from datetime import time
a = time(11, 34, 56)
print("hour =", a.hour)
print("minute =", a.minute)
print("second =", a.second)
print("microsecond =", a.microsecond)
Saat Anda menjalankan contoh, hasilnya adalah:
hour = 11 minute = 34 second = 56 microsecond = 0
Perhatikan bahwa kita belum melewati microsecond argumen. Oleh karena itu, nilai defaultnya 0
dicetak.
datetime
modul memiliki kelas bernama dateclass
yang dapat berisi informasi dari tanggal dan waktu objek.
from datetime import datetime
#datetime(year, month, day)
a = datetime(2018, 11, 28)
print(a)
# datetime(year, month, day, hour, minute, second, microsecond)
b = datetime(2017, 11, 28, 23, 55, 59, 342380)
print(b)
Saat Anda menjalankan program, outputnya adalah:
2018-11-28 00:00:00 2017-11-28 23:55:59.342380
Tiga argumen pertama tahun , bulan dan hari di datetime()
konstruktor adalah wajib.
from datetime import datetime
a = datetime(2017, 11, 28, 23, 55, 59, 342380)
print("year =", a.year)
print("month =", a.month)
print("hour =", a.hour)
print("minute =", a.minute)
print("timestamp =", a.timestamp())
Saat Anda menjalankan program, outputnya adalah:
year = 2017 month = 11 day = 28 hour = 23 minute = 55 timestamp = 1511913359.34238
Sebuah timedelta
objek mewakili perbedaan antara dua tanggal atau waktu.
from datetime import datetime, date
t1 = date(year = 2018, month = 7, day = 12)
t2 = date(year = 2017, month = 12, day = 23)
t3 = t1 - t2
print("t3 =", t3)
t4 = datetime(year = 2018, month = 7, day = 12, hour = 7, minute = 9, second = 33)
t5 = datetime(year = 2019, month = 6, day = 10, hour = 5, minute = 55, second = 13)
t6 = t4 - t5
print("t6 =", t6)
print("type of t3 =", type(t3))
print("type of t6 =", type(t6))
Saat Anda menjalankan program, outputnya adalah:
t3 = 201 days, 0:00:00 t6 = -333 days, 1:14:20 type of t3 = <class 'datetime.timedelta'> type of t6 = <class 'datetime.timedelta'>
Perhatikan, keduanya t3 dan t6 adalah <class 'datetime.timedelta'>
ketik.
from datetime import timedelta
t1 = timedelta(weeks = 2, days = 5, hours = 1, seconds = 33)
t2 = timedelta(days = 4, hours = 11, minutes = 4, seconds = 54)
t3 = t1 - t2
print("t3 =", t3)
Saat Anda menjalankan program, outputnya adalah:
t3 = 14 days, 13:55:39
Di sini, kami telah membuat dua timedelta
objek t1 dan t2 , dan perbedaannya tercetak di layar.
from datetime import timedelta
t1 = timedelta(seconds = 33)
t2 = timedelta(seconds = 54)
t3 = t1 - t2
print("t3 =", t3)
print("t3 =", abs(t3))
Saat Anda menjalankan program, outputnya adalah:
t3 = -1 day, 23:59:39 t3 = 0:00:21
Anda bisa mendapatkan jumlah detik dalam objek timedelta menggunakan total_seconds()
metode.
from datetime import timedelta
t = timedelta(days = 5, hours = 1, seconds = 33, microseconds = 233423)
print("total seconds =", t.total_seconds())
Saat Anda menjalankan program, outputnya adalah:
total seconds = 435633.233423
Anda juga dapat menemukan jumlah dua tanggal dan waktu menggunakan +
operator. Anda juga dapat mengalikan dan membagi timedelta
objek dengan bilangan bulat dan float.
Cara tanggal dan waktu direpresentasikan mungkin berbeda di tempat yang berbeda, organisasi, dll. Lebih umum menggunakan mm/dd/yyyy
di AS, sedangkan dd/mm/yyyy
lebih umum di Inggris.
Python memiliki strftime()
dan strptime()
metode untuk menangani ini.
strftime()
metode didefinisikan di bawah kelas date
, datetime
dan time
. Metode ini membuat string yang diformat dari date
yang diberikan , datetime
atau time
objek.
from datetime import datetime
# current date and time
now = datetime.now()
t = now.strftime("%H:%M:%S")
print("time:", t)
s1 = now.strftime("%m/%d/%Y, %H:%M:%S")
# mm/dd/YY H:M:S format
print("s1:", s1)
s2 = now.strftime("%d/%m/%Y, %H:%M:%S")
# dd/mm/YY H:M:S format
print("s2:", s2)
Saat Anda menjalankan program, outputnya akan seperti:
time: 04:34:52 s1: 12/26/2018, 04:34:52 s2: 26/12/2018, 04:34:52
Di sini, %Y
, %m
, %d
, %H
dll. adalah kode format. strftime()
metode mengambil satu atau lebih kode format dan mengembalikan string yang diformat berdasarkan itu.
Dalam program di atas, t , s1 dan s2 adalah string.
%Y
- tahun [0001,..., 2018, 2019,..., 9999]%m
- bulan [01, 02, ..., 11, 12]%d
- hari [01, 02, ..., 30, 31]%H
- jam [00, 01, ..., 22, 23%M
- menit [00, 01, ..., 58, 59]%S
- detik [00, 01, ..., 58, 59]
Untuk mempelajari lebih lanjut tentang strftime()
dan kode format, kunjungi:Python strftime().
strptime()
metode membuat datetime
objek dari string tertentu (mewakili tanggal dan waktu).
from datetime import datetime
date_string = "21 June, 2018"
print("date_string =", date_string)
date_object = datetime.strptime(date_string, "%d %B, %Y")
print("date_object =", date_object)
Saat Anda menjalankan program, outputnya adalah:
date_string = 21 June, 2018 date_object = 2018-06-21 00:00:00
strptime()
metode membutuhkan dua argumen:
Omong-omong, %d
, %B
dan %Y
kode format digunakan untuk hari , bulan (nama lengkap) dan tahun masing-masing.
Kunjungi Python strptime() untuk mempelajari lebih lanjut.
Misalkan, Anda sedang mengerjakan sebuah proyek dan perlu menampilkan tanggal dan waktu berdasarkan zona waktunya. Daripada mencoba menangani zona waktu sendiri, sebaiknya gunakan modul pytZ pihak ketiga.
from datetime import datetime
import pytz
local = datetime.now()
print("Local:", local.strftime("%m/%d/%Y, %H:%M:%S"))
tz_NY = pytz.timezone('America/New_York')
datetime_NY = datetime.now(tz_NY)
print("NY:", datetime_NY.strftime("%m/%d/%Y, %H:%M:%S"))
tz_London = pytz.timezone('Europe/London')
datetime_London = datetime.now(tz_London)
print("London:", datetime_London.strftime("%m/%d/%Y, %H:%M:%S"))
Saat Anda menjalankan program, outputnya akan seperti:
Local time: 2018-12-20 13:10:44.260462 America/New_York time: 2018-12-20 13:10:44.260462 Europe/London time: 2018-12-20 13:10:44.260462
Di sini, datetime_NY dan datetime_London adalah objek datetime yang berisi tanggal dan waktu saat ini dari zona waktunya masing-masing.
Python
Python strftime() Dalam artikel ini, Anda akan belajar mengonversi objek tanggal, waktu, dan waktu ke string yang setara (dengan bantuan contoh) Video:Tanggal dan Waktu dengan Python strftime() metode mengembalikan string yang mewakili tanggal dan waktu menggunakan objek tanggal, waktu atau datet
Python strptime() Dalam artikel ini, Anda akan belajar membuat objek datetime dari string (dengan bantuan contoh). Video:Tanggal dan Waktu dengan Python strptime() metode membuat objek datetime dari string yang diberikan. Catatan: Anda tidak dapat membuat datetime objek dari setiap string. Strin
Dengan Python, tanggal, waktu, dan waktu kelas menyediakan sejumlah fungsi untuk menangani tanggal, waktu dan interval waktu. Tanggal dan waktu dalam Python adalah objeknya, jadi ketika Anda memanipulasinya, Anda sebenarnya memanipulasi objek dan bukan string atau cap waktu. Setiap kali Anda memanip
Jika Anda melewatkannya:Python 2 adalah secara resmi tidak didukung mulai 1 Januari 2020 . Jika Anda masih menggunakan Python 2.7, tingkatkan sekarang . Jika Anda tidak yakin versi apa yang Anda jalankan, periksa versi Python Anda. Banyak pengelola paket telah bermigrasi ke Python 3. Beberapa mas