Python - Tanggal dan Waktu

Seringkali dalam ilmu data kita membutuhkan analisis yang didasarkan pada nilai-nilai temporal. Python dapat menangani berbagai format tanggal dan waktu dengan baik. Itudatetime perpustakaan menyediakan metode dan fungsi yang diperlukan untuk menangani skenario berikut.

  • Representasi Waktu Tanggal
  • Tanggal Waktu Aritmatika
  • Perbandingan Waktu Tanggal

Kami akan mempelajarinya satu per satu.

Representasi Waktu Tanggal

Tanggal dan berbagai bagiannya diwakili dengan menggunakan fungsi datetime yang berbeda. Juga, ada penentu format yang berperan dalam menampilkan bagian alfabet dari suatu tanggal seperti nama bulan atau hari minggu. Kode berikut menunjukkan tanggal hari ini dan berbagai bagian tanggal.

import datetime

print 'The Date Today is  :', datetime.datetime.today()

date_today = datetime.date.today()
print date_today
print 'This Year   :', date_today.year
print 'This Month    :', date_today.month
print 'Month Name:',date_today.strftime('%B')
print 'This Week Day    :', date_today.day
print 'Week Day Name:',date_today.strftime('%A')

Ketika kita mengeksekusi kode di atas, hasilnya adalah sebagai berikut.

The Date Today is  : 2018-04-22 15:38:35.835000
2018-04-22
This Year   : 2018
This Month    : 4
Month Name: April
This Week Day    : 22
Week Day Name: Sunday

Tanggal Waktu Aritmatika

Untuk kalkulasi yang melibatkan tanggal, kami menyimpan berbagai tanggal ke dalam variabel dan menerapkan operator matematika yang relevan ke variabel ini.

import datetime 
 
#Capture the First Date
day1 = datetime.date(2018, 2, 12)
print 'day1:', day1.ctime()

# Capture the Second Date
day2 = datetime.date(2017, 8, 18)
print 'day2:', day2.ctime()

# Find the difference between the dates
print 'Number of Days:', day1-day2


date_today  = datetime.date.today() 

# Create a delta of Four Days 
no_of_days = datetime.timedelta(days=4) 

# Use Delta for Past Date
before_four_days = date_today - no_of_days 
print 'Before Four Days:', before_four_days 
 
# Use Delta for future Date
after_four_days = date_today + no_of_days 
print 'After Four Days:', after_four_days

Ketika kita mengeksekusi kode di atas, hasilnya adalah sebagai berikut.

day1: Mon Feb 12 00:00:00 2018
day2: Fri Aug 18 00:00:00 2017
Number of Days: 178 days, 0:00:00
Before Four Days: 2018-04-18
After Four Days: 2018-04-26

Perbandingan Waktu Tanggal

Tanggal dan waktu dibandingkan menggunakan operator logika. Tetapi kita harus berhati-hati dalam membandingkan bagian yang tepat dari tanggal satu sama lain. Dalam contoh di bawah ini kami mengambil tanggal masa depan dan masa lalu dan membandingkannya menggunakan klausa if python bersama dengan operator logis.

import datetime

date_today  = datetime.date.today() 

print 'Today is: ', date_today
# Create a delta of Four Days 
no_of_days = datetime.timedelta(days=4) 

# Use Delta for Past Date
before_four_days = date_today - no_of_days 
print 'Before Four Days:', before_four_days 

after_four_days =  date_today + no_of_days

date1 = datetime.date(2018,4,4)

print 'date1:',date1

if date1 == before_four_days :
    print 'Same Dates'
if date_today > date1:
    print 'Past Date'
if date1 < after_four_days:
    print 'Future Date'

Ketika kita mengeksekusi kode di atas, hasilnya adalah sebagai berikut.

Today is:  2018-04-22
Before Four Days: 2018-04-18
date1: 2018-04-04
Past Date
Future Date