Ini sebagai catatan saja, maklum sering lupa. Catatan tentang cara mencari nilai hari ini, kemarin, dan bulan sebelumnya di python. Juga bagaimana cara mengonversi nilai datetime ke unix timestamp.
Untuk mendapatkan nilai hari ini, kita gunakan librari datetime. Begini caranya:
>>> import datetime >>> today = datetime.date.today() >>> today datetime.date(2017, 6, 20)
Nah untuk mendapatkan nilai kemarin, kita gunakan timedelta. Begini caranya:
>>> prev = today - datetime.timedelta(days=1) >>> prev datetime.date(2017, 6, 19)
Kalau dua hari sebelumnya? Ya tinggal ganti saya nilai variabel days-nya. Misalnya kita ingin mencari nilai 30 hari sebelumnya dari hari kemarin, maka kita ganti days menjadi 30:
>>> lastmonth = prev - datetime.timedelta(days=30) >>> lastmonth datetime.date(2017, 5, 20)
Variabel datetime itu bisa kita konversi ke unix timestamp. Ada dua cara, pakai librari time dan calendar. Librari time digunakan untuk mendapatkan nilai timestamp berdasarkan local time, sementara jika pakai calendar, nilai timestamp-nya berdasarkan UTC. Contohnya:
>>> today_local = int(time.mktime(today.timetuple())) >>> today_local 1497891600 >>> today_utc = calendar.timegm(today.timetuple()) >>> today_utc 1497916800
Di situ terlihat nilainya berbeda. Untuk mengeceknya, bisa gunakan fungsi strftime:
>>> time.strftime("%d %b %Y %H:%M:%S", time.localtime(today_local)) '20 Jun 2017 00:00:00' >>> time.strftime("%d %b %Y %H:%M:%S", time.localtime(today_utc)) '20 Jun 2017 07:00:00'
Di situ terlihat, variabel today_local jika diubah jadi 20 Juni 2017 pukul 00:00, sementara yang pakai UTC kelebihan 7 jam, sesuai waktu WIB (GMT+7).
Sekian. Semoga bermangpaat.