Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> Python

Tanggal waktu Python

Waktu tanggal python

Pada artikel ini, Anda akan belajar memanipulasi tanggal dan waktu dengan Python dengan bantuan contoh.

Video:Python datetime - Bekerja dengan Tanggal dan Waktu

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.


Contoh 1:Dapatkan Tanggal dan Waktu Saat Ini

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.


Contoh 2:Dapatkan Tanggal 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:


Kelas datetime.date

Anda dapat membuat instance date objek dari date kelas. Objek tanggal mewakili tanggal (tahun, bulan, dan hari).


Contoh 3:Objek tanggal untuk mewakili tanggal


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)

Contoh 4:Dapatkan tanggal saat ini

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)

Contoh 5:Dapatkan tanggal dari stempel waktu

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

Contoh 6:Cetak tahun, bulan, dan hari hari ini

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)

datetime.time

Objek waktu yang dibuat dari time kelas mewakili waktu lokal.


Contoh 7:Objek waktu untuk mewakili waktu


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

Contoh 8:Mencetak jam, menit, detik, dan mikrodetik

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.datetime

datetime modul memiliki kelas bernama dateclass yang dapat berisi informasi dari tanggal dan waktu objek.


Contoh 9:Objek datetime Python


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.


Contoh 10:Cetak tahun, bulan, jam, menit, dan stempel waktu


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

datetime.timedelta

Sebuah timedelta objek mewakili perbedaan antara dua tanggal atau waktu.


Contoh 11:Perbedaan antara dua tanggal dan 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.


Contoh 12:Perbedaan antara dua objek timedelta


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.


Contoh 13:Mencetak objek delta waktu negatif


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

Contoh 14:Durasi waktu dalam detik

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.


Waktu format python

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.


Python strftime() - objek datetime ke string

strftime() metode didefinisikan di bawah kelas date , datetime dan time . Metode ini membuat string yang diformat dari date yang diberikan , datetime atau time objek.


Contoh 15:Format tanggal menggunakan strftime()


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.

Untuk mempelajari lebih lanjut tentang strftime() dan kode format, kunjungi:Python strftime().


Python strptime() - string ke datetime

strptime() metode membuat datetime objek dari string tertentu (mewakili tanggal dan waktu).


Contoh 16:strptime()


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:

  1. string yang mewakili tanggal dan waktu
  2. kode format yang setara dengan argumen pertama

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.


Menangani zona waktu dengan Python

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

  1. Tipe Data Python
  2. Operator Python
  3. Pernyataan lulus python
  4. Argumen Fungsi Python
  5. Kamus Python
  6. Python Iterator
  7. Penutupan Python
  8. Bagaimana cara mendapatkan tanggal dan waktu saat ini dengan Python?
  9. Python Dapatkan waktu Saat Ini
  10. Python tidur()