Tutorial Perl Tanggal Waktu Terbaik Pada tahun 2024, Dalam tutorial ini Anda dapat mempelajari waktu dan tanggal,Greenwich Mean Time (GMT),tanggal Format dan waktu,Era Waktu baru (Epoch Time),POSIX fungsi strftime (),
Bagian ini, kami memperkenalkan bahasa Perl untuk tanggal dan waktu pengolahan.
Perl adalah fungsi dari waktu proses adalah sebagai berikut:
Mari kita lihatlocaltime () fungsi, yang mengembalikan tanggal dan waktu tanpa parameter.
Berikut sembilan simbol yang mewakili parameter tanggal dan waktu yang berbeda:
sec, # 秒, 0 到 61 min, # 分钟, 0 到 59 hour, # 小时, 0 到 24 mday, # 天, 1 到 31 mon, # 月, 0 到 11 year, # 年,从 1900 开始 wday, # 星期几,0-6,0表示周日 yday, # 一年中的第几天,0-364,365 isdst # 如果夏令时有效,则为真
Contoh presentasi sebagai berikut:
#!/usr/bin/perl @months = qw( 一月 二月 三月 四月 五月 六月 七月 八月 九月 十月 十一月 十二月 ); @days = qw(星期天 星期一 星期二 星期三 星期四 星期五 星期六); ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(); print "$mday $months[$mon] $days[$wday]\n";
Contoh pelaksanaan output di atas adalah:
12 六月 星期天
Jika panggilan langsung ke localtime (), yang mengembalikan pengaturan zona waktu sistem saat ini, contoh adalah sebagai berikut:
#!/usr/bin/perl $datestring = localtime(); print "时间日期为:$datestring\n";
Contoh pelaksanaan output di atas adalah:
时间日期为:Sun Jun 12 11:27:31 2016
Fungsigmtime () dan localtime () mirip, tapi kembali standar Greenwich Mean Time.
#!/usr/bin/perl $local_datestring = localtime(); print "本地时间日期为:$local_datestring\n"; $gmt_datestring = gmtime(); print "GMT 时间日期为:$gmt_datestring\n";
Contoh pelaksanaan output di atas adalah:
本地时间日期为:Sun Jun 12 11:32:14 2016 GMT 时间日期为:Sun Jun 12 03:32:14 2016
Kita bisa melihat dari contoh, Cina dan GMT perbedaan waktu 8 jam.
Kita dapat menggunakan localtime () fungsi 9 kali elemen ke format output dari waktu yang dibutuhkan untuk mengembangkan. output diformat menggunakan printf () function:
#!/usr/bin/perl ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(); printf("格式化时间:HH:MM:SS\n"); printf("%02d:%02d:%02d", $hour, $min, $sec);
Contoh pelaksanaan output di atas adalah:
格式化时间:HH:MM:SS 11:35:23
Kita dapat menggunakan fungsi waktu () untuk mendapatkan era baru waktu, fungsi mengembalikan dari 1 Januari 1970 jumlah kumulatif detik. Contohnya adalah sebagai berikut:
#!/usr/bin/perl $epoc = time(); print "从1970年1月1日起累计的秒数为:$epoc\n";
Contoh pelaksanaan output di atas adalah:
从1970年1月1日起累计的秒数为:1465702883
Kita bisa output format waktu yang kita inginkan:
#!/usr/bin/perl ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(); print "当期时间和日期:"; printf("%d-%d-%d %d:%d:%d",$year+1990,$mon+1,$mday,$hour,$min,$sec); print "\n"; $epoc = time(); $epoc = $epoc - 24 * 60 * 60; # 一天前的时间秒数 ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($epoc); print "昨天时间和日期:"; printf("%d-%d-%d %d:%d:%d",$year+1990,$mon+1,$mday,$hour,$min,$sec); print "\n";
Contoh pelaksanaan output di atas adalah:
当期时间和日期:2106-6-12 11:49:28 昨天时间和日期:2106-6-11 11:49:28
Fungsi strftime () dapat diformat sebagai format waktu yang kita inginkan.
Tabel berikut ini berisi beberapa simbol format, tanda bintang menunjukkan Anda ingin bergantung pada waktu setempat:
simbol | deskripsi | contoh |
---|---|---|
%a | Minggu singkatan (SunidSat) * | Thu |
%A | Minggu nama lengkap (SundayidSaturday) * | Thursday |
%b | Bulan singkatan (JanidDec) * | Aug |
%B | Nama lengkap bulan (JanuaryidDecember) * | August |
%c | Tanggal dan Waktu * | Thu Aug 23 14:55:02 2001 |
%C | Selain tahun 100, dan pembulatan ( 00-99 ) | 20 |
%d | Hari bulan ( 01-31 ) | 23 |
%D | Tanggal, MM/DD/YY setara dengan %m/%d/%y | 08/23/01 |
%e | Beberapa hari pertama bulan itu, diisi dengan spasi digit ( 1-31 ) | 23 |
%F | YYYY-MM-DD singkatan mirip dengan %Y-%m-%d | 2001-08-23 |
%g | Dua digit terakhir tahun ( 00-99 ) | 01 |
%g | tahun | 2001 |
%h | * Bulan pendek (dan %b option) | Aug |
%H | 24-jam ( 00-23 ) | 14 |
%I | 12-jam ( 01-12 ) | 02 |
%j | Beberapa hari pertama tahun ini ( 001-366 ) | 235 |
%m | Bulan ( 01-12 ) | 08 |
%M | Min ( 00-59 ) | 55 |
%n | Baris baru ( '\n' ) | |
%p | Tampilkan AM atau PM | PM |
%r | Waktu (hh: mm: ss AM atau PM), 12 jam * | 02:55:02 pm |
%R | 24 jam HH:MM format waktu, sama dengan %H:%M | 14:55 |
%S | Detik ( 00-61 ) | 02 |
%t | tab horisontal ( '\t' ) | |
%T | Waktu (24 jam) (hh: mm: ss) , sama dengan %H:%M:%S | 14:55 |
%u | ISO 8601 format seminggu, Senin adalah 1 ( 1-7 ) | 4 |
%U | Beberapa minggu pertama tahun ini, hari Minggu adalah hari pertama ( 00-53 ) | 33 |
%V | ISO 8601 angka minggu ( 00-53 ) | 34 |
%w | Pertama beberapa hari (0 untuk Minggu) seminggu ( 0-6 ) | 4 |
%W | Beberapa minggu pertama tahun ini, Senin adalah hari pertama ( 00-53 ) | 34 |
%x | Format untuk menampilkan tanggal (mm / dd / yy) * | 08/23/01 |
%X | Menampilkan Format waktu * | 14:55:02 |
%y | , Dua-digit ( 00-99 ) | 01 |
%Y | tahun | 2001 |
%z | ISO 8601 zona waktu offset dari UTC (1 menit = 1, 1 jam = 100) | +100 |
%Z | Nama dari zona waktu saat ini, seperti "China Standard Time" * | CDT |
%% | % Symbol | % |
Contohnya adalah sebagai berikut:
#!/usr/bin/perl use POSIX qw(strftime); $datestring = strftime "%Y-%m-%d %H:%M:%S", localtime; printf("时间日期 - $datestring\n"); # GMT 格式化时间日期 $datestring = strftime "%Y-%m-%d %H:%M:%S", gmtime; printf("时间日期 - $datestring\n");
Contoh pelaksanaan output di atas adalah:
时间日期 - 2016-06-12 12:15:13 时间日期 - 2016-06-12 04:15:13