Dalam bab ini, kami memperkenalkan kepada Anda pemrosesan waktu dan tanggal dalam bahasa Perl.
Ada beberapa fungsi waktu pemrosesan di Perl:
1. fungsi waktu(): mengembalikan jumlah detik akumulasi sejak 1 Januari 1970
2. localtime() fungsi: mendapatkan waktu zona waktu lokal
3. fungsi gmtime(): Dapatkan Greenwich Mean Time
Selanjutnya mari kita lihat fungsi localtime() , yang mengembalikan waktu dan tanggal saat ini tanpa argumen.
9 simbol berikut mewakili parameter waktu dan tanggal yang berbeda:
detik, # detik, 0 hingga 61 menit, # menit, 0 hingga 59 jam, # jam, 0 hingga 24 hari, # hari, 1 hingga 31 menit, # bulan, 0 hingga 11 tahun, # tahun, dimulai dari hari w1900, # hari dalam seminggu , 0 -6,0 berarti Minggu yday, # Hari dalam setahun, 0-364,365isdst # Benar jika waktu musim panas berlaku
Contoh demonstrasinya adalah sebagai berikut:
Output eksekusi dari contoh di atas adalah:
Minggu 12 Juni
Jika localtime() dipanggil secara langsung, ia mengembalikan waktu pengaturan zona waktu sistem saat ini. Contohnya adalah sebagai berikut:
Output eksekusi dari contoh di atas adalah:
Tanggal dan waktunya adalah: Minggu 12 Juni 11:27:31 2016
Fungsi gmtime() mirip dengan localtime(), namun mengembalikan Waktu Greenwich standar.
Output eksekusi dari contoh di atas adalah:
Waktu dan tanggal setempat adalah: Minggu 12 Juni 11:32:14 2016GMT Waktu dan tanggal adalah: Minggu 12 Juni 03:32:14 2016
Kita dapat melihat dari contoh bahwa waktu di Tiongkok berbeda 8 jam dengan Greenwich Mean Time.
Kita dapat menggunakan 9 elemen waktu dari fungsi localtime() untuk menampilkan format waktu yang perlu dirumuskan. Output yang diformat menggunakan fungsi printf():
Output eksekusi dari contoh di atas adalah:
Waktu pemformatan: JJ:MM:SS11:35:23
Kita bisa mendapatkan epoch time menggunakan fungsi time(), yang mengembalikan jumlah detik sejak 1 Januari 1970. Contohnya adalah sebagai berikut:
Output eksekusi dari contoh di atas adalah:
Jumlah detik yang terakumulasi sejak 1 Januari 1970 adalah: 1465702883
Kita dapat menampilkan format waktu yang kita inginkan:
Output eksekusi dari contoh di atas adalah:
Waktu dan tanggal saat ini: 15-3-2017 12:47:54 Waktu dan tanggal kemarin: 14-3-2017 12:47:54
Fungsi strftime() dapat memformat waktu ke dalam format yang kita inginkan.
Tabel berikut mencantumkan beberapa simbol pemformatan. Simbol * menunjukkan bahwa Anda ingin mengandalkan waktu setempat:
simbol | menggambarkan | Contoh |
---|---|---|
%a | Singkatan hari dalam seminggu (Ming..Sab) * | Thu |
%A | Nama lengkap hari dalam seminggu (Minggu..Sabtu) * | Thursday |
%b | Singkatan bulan (Jan..Des) * | Aug |
%B | Nama lengkap bulan (Januari..Desember) * | August |
%c | Tanggal dan waktu* | Thu Aug 23 14:55:02 2001 |
%C | Tahun dibagi 100 dan dibulatkan ( 00-99 ) | 20 |
%d | Hari dalam sebulan ( 01-31 ) | 23 |
%D | Tanggal, MM/DD/YY sama dengan %m/%d/%y | 08/23/01 |
%e | Hari dalam sebulan, menggunakan spasi untuk mengisi satu digit ( 1-31 ) | 23 |
%F | Singkatan dari YYYY-MM-DD mirip dengan %Y-%m-%d | 2001-08-23 |
%g | Dua digit terakhir tahun ( 00-99 ) | 01 |
%g | Tahun | 2001 |
%h | Singkatan bulan* (sama dengan opsi %b ) | Aug |
%H | Format 24 jam ( 00-23 ) | 14 |
%I | Format 12 jam ( 01-12 ) | 02 |
%j | Hari dalam setahun ( 001-366 ) | 235 |
%m | Bulan ( 01-12 ) | 08 |
%M | Menit ( 00-59 ) | 55 |
%n | baris baru ( 'n' ) |
|
%p | Tampilkan AM atau PM | PM |
%r | Waktu (jj:mm:ss AM atau PM), 12 jam* | 02:55:02 pm |
%R | Format waktu HH:MM 24 jam, setara dengan %H:%M | 14:55 |
%S | Jumlah detik ( 00-61 ) | 02 |
%t | Tab horisontal ( 't' ) |
|
%T | Waktu (format 24 jam) (jj:mm:ss), setara dengan %H:%M:%S | 14:55 |
%u | Format hari dalam seminggu ISO 8601, Senin adalah 1 ( 1-7 ) | 4 |
%U | Nomor minggu dalam setahun, Minggu adalah hari pertama ( 00-53 ) | 33 |
%V | ISO 8601 minggu ( 00-53 ) | 34 |
%w | Hari dalam seminggu (0 melambangkan Minggu) ( 0-6 ) | 4 |
%W | Nomor minggu dalam setahun, Senin adalah hari pertama ( 00-53 ) | 34 |
%x | Format tampilan tanggal (bb/dd/yy) * | 08/23/01 |
%X | Format waktu tampilan* | 14:55:02 |
%y | Tahun, dua digit ( 00-99 ) | 01 |
%Y | Tahun | 2001 |
%z | Offset zona waktu antara ISO 8601 dan UTC (1 menit=1, 1 jam=100) | +100 |
%Z | Nama zona waktu saat ini, seperti "Waktu Standar Tiongkok" * | CDT |
%% | simbol % | % |
Output eksekusi dari contoh di atas adalah:
Waktu dan tanggal - 12-06-2016 12:15:13 Waktu dan tanggal - 12-06-2016 04:15:13