Pada python dapat menangani tanggal dan waktu dengan beberapa cara. Penanggalan dan waktu pada format aslinya adalah sebuah perhitungan dari tanggal 1 (satu) Januari 1970. Pada tanggal tersebut merupakan waktu awal (jam 0, menit 0,detik 0 atau 0:00,00)yang disebut epoch. Karena waktu awalnya adalah 01 Januari 1970, maka python tidak bisa membuat tanggal sebelum tanggal tersebut, dan akan berakhir pada tahun 2038 (Pada kebanyakan waktu Unix), tetapi bila menggunakan C maka waktu akan berakhir tergantung pada C librarynya.
Python masih bergantung pada platform C library, sehingga tidak memiliki masalah dengan Y2K (Year 2000). Sehingga waktu yang diproses oleh python merupakan detik dari tahun 1970.
- >>> import time
- >>> aa=time.time()
- >>> aa
- 1439365167.0752
- >>>
Untuk mendapatkan waktu variable aa kita bisa gunakan perintah time.localtime(aa).
- >>> waktulokal=time.localtime(aa)
- >>> print(waktulokal)
- time.struct_time(tm_year=2015, tm_mon=8, tm_mday=12, tm_hour=14, tm_min=39, tm_sec=27, tm_wday=2, tm_yday=224, tm_isdst=0)
- >>>
waktu yang ditunjukan pada variable waktulokal bukanlah waktu saat ini, tetapi waktu ketika variable aa dibuat. Bila ingin realtime kita pergunakan:
- >>> print(time.localtime(time.time()))
- time.struct_time(tm_year=2015, tm_mon=8, tm_mday=12, tm_hour=14, tm_min=52, tm_sec=55, tm_wday=2, tm_yday=224, tm_isdst=0)
- >>>
Format waktu yang ditunjukan diatas, bukan format yang kita lihat sehari-hari. Sekarang kita buat format yang biasa kita lihat sehari-hari:
- >>> formatbiasa=time.asctime(time.localtime())
- >>> print(formatbiasa)
- Wed Aug 12 14:58:52 2015
- >>>
Walaupun tidak sama dengan format indonesia kita masi bisa lihat yang mana tahun, bulan, hari, dan jamnya. Bila ingin kostum format, kita gunakan:
- >>> time.strftime("%a, %d %b %Y %H:%M:%S +0000", time.localtime())
- 'Wed, 12 Aug 2015 08:08:13 +0000'
- >>>
%a | Singkatan nama hari | |
%A | Nama hari | |
%b | Singkatan nama bulan | |
%B | Nama bulan | |
%c | Format lokal | |
%d | Tanggal 01 sampai 31 | |
%H | Jam, 24 jam, dari 00 - 24 | |
%I | Jam, 12 jam, dari 01 - 12 | |
%j | Tanggal dalam tahun, 001 - 366 | |
%m | Bulan, 1 - 12 | |
%M | Menit, 00 - 59 | |
%p | AM - PM | *1 |
%S | Detik, 00 - 59 | *2 |
%U | Minggu dalam tahun, 00 – 53, Minggu 0 adalah hari minggu pertama | *3 |
%w | Minggu, 0 (minggu) – 6 (sabtu) | |
%W | '= %U | *3 |
%x | Tanggal lokal | |
%X | Waktu lokal | |
%y | Tahun, 00 - 99 | |
%Y | Tahun | |
%z | Selisih waktu dari UTC/GMT -23:59 - +23:59 | |
%Z | Nama zona waktu | |
%% | Karakter '%' |
keterangan *:
- Ketika digunakan dengan strptime () fungsi,% p direktif hanya mempengaruhi bidang output jam, jika % I direktif digunakan untuk mengurai jam.
- Kisaran 0-61; nilai 60 berlaku di timestamp mewakili lompatan detik dan nilai 61 didukung untuk alasan historis.
- Ketika digunakan dengan strptime () fungsi,% U dan W% hanya digunakan dalam perhitungan ketika hari minggu dan tahun yang ditentukan.
Pada modul time juga terdapat:
contoh:
time.altzone :
time.altzone
:
|
Offset
zona DST (Daylight saving time) lokal, dalam detik positip di
barat dari UTC,dan negatif jika zona waktu DST lokal timur dari
UTC (seperti di Eropa Barat, termasuk Inggris).
Digunakan
untuk daylight yang tidak nol (0).
|
time.asctime([t]): |
Mengkonversi
tupel atau struct_time mewakili waktu yang dikembalikan oleh
gmtime() atau localtime() menjadi string: 'Sun Jun 2023: 21: 05
1993'.
Jika
t tidak disediakan, waktu akan dikembalikan sebagai localtime().
Lokal
tidak digunakan oleh asctime ().
|
time.clock(): |
Pada
Unix, waktu prosesor sekarang sebagai angka floating point
dinyatakan dalam detik. Ketepatannya sangat tergantung pada "waktu
prosesor" pada fungsi C dengan nama yang sama.
Pada
Windows, fungsi ini mengembalikan detik jam berlalu sejak
panggilan pertama melalui fungsi ini, yang merupakan angka
floating, berdasarkan fungsi Win32 QueryPerformanceCounter().
Resolusi
biasanya lebih baik dari satu mikrodetik.
Tidak
ada update sejak versi 3.3.
Perilaku
fungsi ini tergantung pada platform: Gunakan perf_counter() atau
process_time() dan bukan tergantung pada kebutuhan anda, untuk
memiliki perilaku yang didefinisikan dengan baik.
|
time.clock_getres(clk_id) :
|
Mengkembalikan
resolusi (ketepatan) dari jam clk_id ditentukan. Tersedia untuk:
Unix. Baru di versi 3.3.
|
time.clock_gettime(clk_id) |
Mengembalikan
saat jam clk_id ditentukan. Ketersediaan: Unix. Baru di versi 3.3.
|
time.clock_settime(clk_id, time) |
Mengatur
waktu dari jam clk_id ditentukan. Ketersediaan: Unix. Baru di
versi 3.3.
|
time.CLOCK_HIGHRES
|
Pada
Solaris OS memiliki timer CLOCK_HIGHRES yang mencoba untuk
menggunakan sumber hardware optimal, dan dapat memberikan
mendekati nanodetik resolusi. CLOCK_HIGHRES adalah tidak dapat
diatur.
Ketersediaan:
Solaris. Baru di versi 3.3.
|
time.CLOCK_MONOTONIC
|
Jam
yang tidak bisa diatur dan merupakan waktu monoton karena beberapa
titik awal yang tidak ditentukan.
Ketersediaan:
Unix.
Baru
di versi 3.3.
|
time.CLOCK_MONOTONIC_RAW
|
Mirip
dengan CLOCK_MONOTONIC, tetapi menyediakan akses ke waktu berbasis
hardware yang tidak melakukan penyesuaian NTP.
Ketersediaan:
Linux 2.6.28 atau yang lebih baru.
Baru
di versi 3.3.
|
time.CLOCK_PROCESS_CPUTIME_ID
|
Resolusi
tinggi per-proses waktu dari CPU.
Ketersediaan:
Unix. Baru di versi 3.3.
|
time.CLOCK_REALTIME
|
Seluruh
sistem real-time clock. Pengaturan jam ini membutuhkan privileges
yang sesuai.
Ketersediaan:
Unix. Baru di versi 3.3.
|
time.CLOCK_THREAD_CPUTIME_ID
|
Thread
khusus waktu jam CPU.
Ketersediaan:
Unix. Baru di versi 3.3.
|
time.ctime([secs])
|
Mengkonversi
waktu dinyatakan dalam detik sejak epoch ke string yang mewaili
waktu setempat. Jika detik ini tidak disediakan atau None, waktu
saat ini dikembalikan oleh time(). ctime(detik) setara dengan
asctime(localtime (detik)). Lokal tidak digunakan oleh ctime().
|
time.daylight
|
Jika
DST digunakan
|
time.get_clock_info(name)
|
Mendapatkan
informasi pada jam yang ditentukan sebagai objek namespace.
Nama
jam didukung dan fungsi yang sesuai, untuk membaca nilai mereka
adalah: 'clock':time.clock(), 'monotonic': time.monotonic(),
'perf_counter': time.perf_counter(), 'process_time':
time.process_time(), 'waktu': time.time().
Hasilnya
memiliki atribut sebagai berikut: adjustable: True jika jam dapat
diubah secara otomatis (misalnya dengan daemon NTP) atau secara
manual oleh administrator sistem, False jika tidak, pelaksanaan:
Nama fungsi C yang mendasari digunakan untuk mendapatkan nilai jam
monotonic : True jika jam tidak bisa mundur, False jika resolusi:
resolusi jam di detik (float).
Baru
di versi 3.3.
|
time.gmtime([secs])
|
Konversi
waktu dinyatakan dalam detik sejak epoch untuk struct_time di UTC
di mana dst selalu nol. Jika detik ini tidak disediakan atau None,
waktu saat ini akan dikembalikan oleh time(). Sepersekian detik
diabaikan.
|
time.localtime([secs])
|
Seperti
gmtime(), tetapi mengkonversi ke waktu lokal. Jika detik ini tidak
disediakan atau None, waktu saat ini sebagai dikembalikan oleh
time(). dst diset dengan 1. Sebab DST berlaku untuk waktu yang
diberikan.
|
time.mktime(t)
|
Ini
adalah fungsi kebalikan dari localtime(). Argumennya adalah
struct_time atau 9-tuple (karena dst diperlukan; menggunakan -1
sebagai bendera dst jika tidak diketahui) yang menyatakan waktu
lokal, bukan UTC.
Ia
mengembalikan floating point, untuk kompatibilitas dengan time().
Jika nilai masukan tidak dapat direpresentasikan sebagai waktu
yang valid, baik OverflowError atau ValueError akan nyalakan (yang
tergantung pada apakah nilai yang tidak valid ditangkap oleh
Python atau C libarary). Tanggal lebih awal yang dapat
menghasilkan suatu waktu tergantung platform.
|
time.monotonic()
|
Mengembalikan
nilai (dalam detik pecahan) dari jam monotonic, yaitu sebuah jam
yang tidak bisa mundur ke belakang. Jam tidak terpengaruh oleh
pembaruan sistem jam. Titik referensi dari nilai yang dikembalikan
tidak terdefinisi, sehingga hanya perbedaan antara hasil panggilan
berturut-turut adalah valid.
Pada
versi Windows yang lebih tua dari Vista, monotonic() mendeteksi
GetTickCount() bilangan bulat overflow (32 bit, roll-over setelah
49,7 hari). Hal ini meningkatkan epoch intern (referensi waktu)
oleh 232 setiap kali overflow terdeteksi. Epoch disimpan di
negara-proses lokal dan nilai ofmonotonic() mungkin berbeda dalam
dua Python proses yang berjalan selama lebih dari 49 hari.
Pada
versi yang lebih baru dari Windows dan di sistem operasi lain,
monotonic() adalah sistem.
Ketersediaan:
Windows, Mac OS X, Linux, FreeBSD, OpenBSD, Solaris. Baru di versi
3.3.
|
time.perf_counter()
|
Mengembalikan
nilai (dalam detik pecahan) dari counter kinerja, yaitu sebuah jam
dengan resolusi tertinggi yang tersedia untuk mengukur durasi
singkat. Ini termasuk waktu berlalu selama sleep() dan seluruh
sistem.
Titik
referensi dari nilai yang dikembalikan tidak terdefinisi, sehingga
hanya perbedaan antara hasil panggilan berturut-turut adalah
valid.
Baru
di versi 3.3.
|
time.process_time()
|
Mengembalikan
nilai (dalam detik pecahan) dari jumlah sistem dan pengguna CPU
waktu proses saat ini. Ini tidak termasuk waktu berlalu selama
sleep(). Ini adalah proses-lebar definisi. Titik referensi dari
nilai yang dikembalikan tidak terdefinisi, sehingga hanya
perbedaan antara hasil panggilan berturut-turut adalah valid.
Baru
di versi 3.3.
|
time.sleep(secs)
|
Menangguhkan
eksekusi thread dalam satuan detik. Argumen memungkinkan sejumlah
floating point untuk menunjukkan waktu tidur yang lebih tepat.
Waktu suspensi yang sebenarnya, kurang dari waktu yang minta
karena sinyal tertangkap akan mengakhiri sleep() diikuti eksekusi
penangkapan sinyal rutin. Juga, saat suspensi dapat lebih lama
dari yang waktu diminta dikarenakan banyaknya aktivitas pada
sistem.
|
time.strftime(format[,
t])
|
Mengkonversi
tupel atau struct_time dan dikembalikan oleh gmtime() atau
localtime() menjadi string yang ditentukan oleh format argumen.
Jika tis tidak disediakan, waktu saat ini sebagai dikembalikan
oleh localtime(). Format harus string.
ValueError
dinyalakan jika ada celah di t berada di luar jangkauan yang
diperbolehkan.
|
time.strptime(string[,
format])
|
mengurai
sebuah string yang mewakili waktu sesuai dengan format.
mengembalikan nilai dengan struct_time
oleh
gmtime()
atau
localtime().
Parameter
format menggunakan teknik yang sama dengan strftime(); defaultnya
"% a% b% d% H:% M:% S% Y" yang sama dengan format
dikembalikan oleh ctime(). Jika string yang tidak dapat diurai
menurut format, atau jika memiliki kelebihan data setelah diurai.
ValueError
dinaikkan. Nilai-nilai default digunakan untuk mengisi data hilang
ketika nilai-nilai yang lebih akurat tidak dapat disimpulkan
adalah (1900, 1, 1, 0, 0, 0, 0, 1, -1). Keduanya (string dan
format) harus string.
|
contoh:
time.altzone :
- >>> a=time.altzone #waktu bagian menghasilkan detik
- >>> a
- -28800
- >>> print(a/3600) # a/3600 detik, menjadi satuan jam
- -8.0
- >>>
time.asctime([t]):
time.clock():
- >>> b=time.localtime()
- >>> print(b)
- time.struct_time(tm_year=2015, tm_mon=8, tm_mday=15, tm_hour=16, tm_min=57, tm_sec=46, tm_wday=5, tm_yday=227, tm_isdst=0)
- >>> print(time.asctime(b))
- Sat Aug 15 16:57:46 2015
- >>>
time.clock():
- >>> import time
- >>> print(time.clock())
- 2.108956421578983e-06
- >>> print(time.clock())
- 13.797055475044191
- >>> print(time.clock())
- 14.838135837180129
- >>> a=time.clock()
- >>> print(time.clock()-a)
- 14.869220908542275
- >>>
- >>> time.ctime(785415)
- 'Sat Jan 10 09:10:15 1970'
- >>> time.ctime(100000000)
- 'Sat Mar 3 16:46:40 1973'
- >>> aa=time.time()
- >>> aa
- 1439706269.77
- >>> time.ctime(aa)
- 'Sun Aug 16 13:24:29 2015'
- >>>
Sdara..saya mau tanya..saya ada buat projek benda jatuh bebas tetapi saya bingung dengan cara mengatur waktu mulai benda jatuh hingga mencapai tanah..projek dengan raspberry pi 3..Mohon pencerahannya..saya pemulah
ReplyDelete