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

Menguasai Tanggal dan Waktu dalam Python: Panduan Praktis

Previous Page Next Page  

Program Python dapat menangani tanggal dan waktu dalam beberapa cara. Konversi antara format tanggal adalah tugas umum untuk komputer. Modul time dan calendar Python membantu melacak tanggal dan waktu.

Apa itu Tick?

Interval waktu adalah bilangan floating-point dalam satuan detik. Instan waktu tertentu diekspresikan dalam detik sejak 00:00:00 hrs 1 Januari 1970(epoch).

Ada modul time populer yang tersedia dalam Python yang menyediakan fungsi untuk bekerja dengan waktu, dan untuk konversi antara representasi. Fungsi time.time() mengembalikan waktu sistem saat ini dalam ticks sejak 00:00:00 hrs 1 Januari 1970(epoch).

Contoh

Live Demo
#!/usr/bin/python import time; # This is required to include time module. ticks = time.time() print "Number of ticks since 12:00am, January 1, 1970:", ticks

Ini akan menghasilkan hasil seperti berikut −

Number of ticks since 12:00am, January 1, 1970: 7186862.73399

Aritmetika tanggal mudah dilakukan dengan ticks. Namun, tanggal sebelum epoch tidak dapat direpresentasikan dalam bentuk ini. tanggal di masa depan yang jauh juga tidak dapat direpresentasikan dengan cara ini - titik potong adalah sekitar tahun 2038 untuk UNIX dan Windows.

Apa itu TimeTuple?

Banyak fungsi waktu Python menangani waktu sebagai tuple dari 9 angka, seperti ditunjukkan di bawah −

Index Field Nilai
0 Tahun 4 digit 2008
1 Bulan 1 hingga 12
2 Hari 1 hingga 31
3 Jam 0 hingga 23
4 Menit 0 hingga 59
5 Detik 0 hingga 61 (60 atau 61 adalah leap-seconds)
6 Hari dalam Minggu 0 hingga 6 (0 adalah Senin)
7 Hari dalam Tahun 1 hingga 366 (Julian day)
8 Daylight savings -1, 0, 1, -1 berarti library menentukan DST

Tuple di atas setara dengan struktur struct_time. Struktur ini memiliki atribut berikut −

Index Atribut Nilai
0 tm_year 2008
1 tm_mon 1 hingga 12
2 tm_mday 1 hingga 31
3 tm_hour 0 hingga 23
4 tm_min 0 hingga 59
5 tm_sec 0 hingga 61 (60 atau 61 adalah leap-seconds)
6 tm_wday 0 hingga 6 (0 adalah Senin)
7 tm_yday 1 hingga 366 (Julian day)
8 tm_isdst -1, 0, 1, -1 berarti library menentukan DST

Mendapatkan Waktu Saat Ini

Untuk menterjemahkan instan waktu dari nilai floating-point detik sejak epoch menjadi time-tuple, teruskan nilai floating-point ke fungsi (misalnya, localtime) yang mengembalikan time-tuple dengan semua sembilan item valid.

Live Demo
#!/usr/bin/python import time; localtime = time.localtime(time.time()) print "Local current time :", localtime

Ini akan menghasilkan hasil berikut, yang dapat diformat dalam bentuk yang dapat dipresentasikan lainnya −

Local current time : time.struct_time(tm_year=2013, tm_mon=7, tm_mday=17, tm_hour=21, tm_min=26, tm_sec=3, tm_wday=2, tm_yday=198, tm_isdst=0)

Mendapatkan Waktu yang Diformat

Anda dapat memformat waktu sesuai kebutuhan Anda, tetapi metode sederhana untuk mendapatkan waktu dalam format yang dapat dibaca adalah asctime() −

Live Demo
#!/usr/bin/python import time; localtime = time.asctime( time.localtime(time.time()) ) print "Local current time :", localtime

Ini akan menghasilkan hasil berikut −

Local current time : Tue Jan 13 10:17:09 2009

Mendapatkan Kalender untuk Sebuah Bulan

Modul calendar menyediakan berbagai metode untuk bermain dengan kalender tahunan dan bulanan. Di sini, kita mencetak kalender untuk bulan tertentu (Jan 2008) −

Live Demo
#!/usr/bin/python import calendar cal = calendar.month(2008, 1) print "Here is the calendar:" print cal

Ini akan menghasilkan hasil berikut −

Here is the calendar: January 2008 Mo Tu We Th Fr Sa Su 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Modul time

Ada modul time populer yang tersedia dalam Python yang menyediakan fungsi untuk bekerja dengan waktu dan untuk konversi antara representasi. Berikut adalah daftar semua metode yang tersedia −

Sr.No. Fungsi dengan Deskripsi
1 time.altzone

Offset zona waktu DST lokal, dalam detik barat UTC, jika ada. Ini negatif jika zona waktu DST lokal di timur UTC (seperti di Eropa Barat, termasuk Inggris). Gunakan ini hanya jika daylight nonzero.

2 time.asctime([tupletime])

Menerima time-tuple dan mengembalikan string yang dapat dibaca 24 karakter seperti 'Tue Dec 11 18:07:14 2008'.

3 time.clock( )

Mengembalikan waktu CPU saat ini sebagai bilangan floating-point detik. Untuk mengukur biaya komputasi dari pendekatan yang berbeda, nilai time.clock lebih berguna dari time.time().

4 time.ctime([secs])

Seperti asctime(localtime(secs)) dan tanpa argumen seperti asctime( )

5 time.gmtime([secs])

Menerima instan yang diekspresikan dalam detik sejak epoch dan mengembalikan time-tuple t dengan waktu UTC. Catatan : t.tm_isdst selalu 0

6 time.localtime([secs])

Menerima instan yang diekspresikan dalam detik sejak epoch dan mengembalikan time-tuple t dengan waktu lokal (t.tm_isdst adalah 0 atau 1, tergantung apakah DST berlaku untuk instant secs berdasarkan aturan lokal).

7 time.mktime(tupletime)

Menerima instan yang diekspresikan sebagai time-tuple dalam waktu lokal dan mengembalikan nilai floating-point dengan instan yang diekspresikan dalam detik sejak epoch.

8 time.sleep(secs)

Menangguhkan thread pemanggil selama secs detik.

9 time.strftime(fmt[,tupletime])

Menerima instan yang diekspresikan sebagai time-tuple dalam waktu lokal dan mengembalikan string yang mewakili instan seperti yang ditentukan oleh string fmt.

10 time.strptime(str,fmt='%a %b %d %H:%M:%S %Y')

Mengurai str sesuai format string fmt dan mengembalikan instan dalam format time-tuple.

11 time.time( )

Mengembalikan instan waktu saat ini, bilangan floating-point detik sejak epoch.

12 time.tzset()

Mengatur ulang aturan konversi waktu yang digunakan oleh rutinitas library. Variabel lingkungan TZ menentukan bagaimana ini dilakukan.

Mari kita tinjau fungsi singkat −

Ada dua atribut penting yang tersedia dengan modul time −

Sr.No. Atribut dengan Deskripsi
1

time.timezone

Atribut time.timezone adalah offset dalam detik dari zona waktu lokal (tanpa DST) dari UTC (>0 di Amerika; <=0 di sebagian besar Eropa, Asia, Afrika).

2

time.tzname

Atribut time.tzname adalah pasangan string yang bergantung pada lokal, yaitu nama zona waktu lokal tanpa dan dengan DST, masing-masing.

Modul calendar

Modul calendar menyediakan fungsi terkait kalender, termasuk fungsi untuk mencetak kalender teks untuk bulan atau tahun tertentu.

Secara default, calendar menganggap Senin sebagai hari pertama dalam minggu dan Minggu sebagai hari terakhir. Untuk mengubah ini, panggil fungsi calendar.setfirstweekday().

Berikut adalah daftar fungsi yang tersedia dengan modul calendar −

Sr.No. Fungsi dengan Deskripsi
1

calendar.calendar(year,w=2,l=1,c=6)

Mengembalikan string multi-baris dengan kalender untuk tahun year yang diformat menjadi tiga kolom yang dipisahkan oleh c spasi. w adalah lebar dalam karakter dari setiap tanggal; setiap baris memiliki panjang 21*w+18+2*c. l adalah jumlah baris untuk setiap minggu.

2

calendar.firstweekday( )

Mengembalikan pengaturan saat ini untuk hari dalam minggu yang memulai setiap minggu. Secara default, saat calendar pertama kali diimpor, ini adalah 0, yang berarti Senin.

3

calendar.isleap(year)

Mengembalikan True jika year adalah tahun kabisat; sebaliknya, False.

4

calendar.leapdays(y1,y2)

Mengembalikan total hari kabisat dalam tahun dalam range(y1,y2).

5

calendar.month(year,month,w=2,l=1)

Mengembalikan string multi-baris dengan kalender untuk bulan month dari tahun year, satu baris per minggu ditambah dua baris header. w adalah lebar dalam karakter dari setiap tanggal; setiap baris memiliki panjang 7*w+6. l adalah jumlah baris untuk setiap minggu.

6

calendar.monthcalendar(year,month)

Mengembalikan daftar daftar int. Setiap sublist menandai minggu. Hari di luar bulan month dari tahun year diatur ke 0; hari dalam bulan diatur ke hari-bulannya, 1 dan ke atas.

7

calendar.monthrange(year,month)

Mengembalikan dua integer. Yang pertama adalah kode hari dalam minggu untuk hari pertama bulan month dalam tahun year; yang kedua adalah jumlah hari dalam bulan. Kode hari adalah 0 (Senin) hingga 6 (Minggu); nomor bulan adalah 1 hingga 12.

8

calendar.prcal(year,w=2,l=1,c=6)

Seperti print calendar.calendar(year,w,l,c).

9

calendar.prmonth(year,month,w=2,l=1)

Seperti print calendar.month(year,month,w,l).

10

calendar.setfirstweekday(weekday)

Mengatur hari pertama setiap minggu ke kode hari weekday. Kode hari adalah 0 (Senin) hingga 6 (Minggu).

11

calendar.timegm(tupletime)

Invers dari time.gmtime: menerima instan waktu dalam bentuk time-tuple dan mengembalikan instan yang sama sebagai bilangan floating-point detik sejak epoch.

12

calendar.weekday(year,month,day)

Mengembalikan kode hari dalam minggu untuk tanggal yang diberikan. Kode hari adalah 0 (Senin) hingga 6 (Minggu); nomor bulan adalah 1 (Januari) hingga 12 (Desember).

Modul dan Fungsi Lainnya

Jika Anda tertarik, di sini Anda akan menemukan daftar modul dan fungsi penting lainnya untuk bermain dengan tanggal dan waktu dalam Python −


Python

  1. Menguasai Tipe Data Python: Panduan Praktis
  2. Menguasai Operator Python: Panduan Komprehensif
  3. Menguasai Pernyataan Pass Python: Panduan Praktis
  4. Menguasai Argumen Fungsi Python: Posisi, Kata Kunci, dan Parameter Default
  5. Menguasai Kamus Python: Pembuatan, Manipulasi, dan Teknik Lanjutan
  6. Menguasai Python datetime: Panduan Praktis Tanggal, Waktu, dan Zona Waktu
  7. Mengambil Tanggal dan Waktu Saat Ini di Python: Panduan Praktis
  8. Python: Mengambil Waktu Saat Ini dan Data Zona Waktu dengan Mudah
  9. Menguasai Modul time Python: Fungsi, Structs, dan Contoh Praktis
  10. Menguasai time.sleep() Python: Best Practices, Multithreading, dan Contoh Dunia Nyata