Pendulum, Library Python Untuk Konversi Zona Waktu

Subscribe Dengan Account Google Untuk Membaca Artikel Tanpa Iklan
Pendulum, Library Python Untuk Konversi Zona Waktu

Modul Python Pendulum adalah pengganti untuk modul datetime bawaan. Modul Pendulum Python mendukung zona waktu dan menyediakan metode yang berguna untuk memformat, mengurai dan memanipulasi waktu tanggal. Modul ini menyediakan semua fitur modul pytz.

Untuk mencoba modul pendulum gunaka pip, pastikan kamu sudah berada pada mode virtual environment.

pip install pendulum

bagaimana cara menggunakan pendulum ?, pelajari source di bawah ini

Converting Timezone

from datetime import datetime
import pendulum
utc_time = pendulum.now('UTC')
ist_time = utc_time.in_timezone('Asia/Calcutta')
print(type(ist_time))
print('Current Date Time in IST =', ist_time)

tz = pendulum.timezone('Europe/Paris')
paris_time = tz.convert(ist_time)
print('Current Date Time in Paris =', paris_time)

Date Time Manipulatons

from datetime import datetime
import pendulum

utc_time.add(years=1)
utc_time.subtract(months=2)
print('Updated UTC Time', utc_time)

Date Time Formatting

from datetime import datetime
import pendulum

print(utc_time.to_iso8601_string())
print(utc_time.to_formatted_date_string())
print(utc_time.to_w3c_string())
print(utc_time.to_date_string())

# supports strftime() too
print(utc_time.strftime('%Y-%m-%d %H:%M:%S %Z%z'))

Parse String to Datetime

from datetime import datetime
import pendulum

dt = pendulum.parse('2018-05-21T22:00:00')
print(dt)

dt = pendulum.parse('2018-05-21T22:00:00', tz='Europe/Paris')
print(dt)

# parsing using specified format string
dt = pendulum.from_format('2018/05/21', 'YYYY/MM/DD')
print(dt)

Timedelta Replacement

from datetime import datetime
import pendulum

time_delta = pendulum.duration(days=1, hours=10, years=2)
print(time_delta)
print('time_delta years =', time_delta.years)

print('time_delta in seconds =', time_delta.in_seconds())
print('time_delta in words =', time_delta.in_words())

print('future date =', pendulum.now() + time_delta)

Period Time

from datetime import datetime
import pendulum

current_date = pendulum.now()
future_date = current_date.add(days=4)

period_time = future_date - current_date

print('period in words =', period_time.in_words())

# period is iterable with days
for dt in period_time:
print(dt)

Bagaimana cara menggunakan pendulum pada sebuah function ?, perhatikan kode dibawah ini

def _parse_unix_time(time_unix, timezone='Asia/Jakarta'):
dt = pendulum.from_timestamp(int(time_unix))
de = dt.in_timezone(timezone)

# return formatted
return {
'time': de.format('HH:mm', formatter='alternative'),
'date': de.format('YYYY-MM-DD', formatter='alternative'),
'human_date': de.format('D MMM YYYY', formatter='alternative')
}
print(_parse_unix_time('1508489400'))

results :

{'time': '16:50', 'date': '2017-10-20', 'human_date': '20 Oct 2017'}

bagi kamu yang ingin tau lebih lanjut tentang pendulum cek dokumentasinya di sini

baca artikel lainya :