Perl Date Heure
Cette section, nous présentons le langage Perl pour la date et l'heure du traitement.
Perl est fonction du temps de traitement sont les suivantes:
- 1 fonction, time (): retours à partir du 1er Janvier 1970 , le nombre cumulé de secondes
- 2, fonction localtime (): Obtenez le fuseau horaire local
- , Fonction 3 gmtime (): Obtenez GMT
Heure et date
Regardons la fonctionlocaltime (), qui renvoie la date et l' heure à aucun paramètre.
Les neuf symboles suivants représentant différents paramètres de date et d'heure:
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 # 如果夏令时有效,则为真
Des exemples de présentation comme suit:
#!/usr/bin/perl @months = qw( 一月 二月 三月 四月 五月 六月 七月 八月 九月 十月 十一月 十二月 ); @days = qw(星期天 星期一 星期二 星期三 星期四 星期五 星期六); ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(); print "$mday $months[$mon] $days[$wday]\n";
Des exemples de mise en oeuvre du résultat ci-dessus est la suivante:
12 六月 星期天
Si l'appel direct à localtime (), qui renvoie les paramètres de fuseau horaire du système, les exemples sont les suivants:
#!/usr/bin/perl $datestring = localtime(); print "时间日期为:$datestring\n";
Des exemples de mise en oeuvre du résultat ci-dessus est la suivante:
时间日期为:Sun Jun 12 11:27:31 2016
Greenwich Mean Time (GMT)
Fonctiongmtime () et localtime () est similaire, mais il renvoie la norme Greenwich Mean Time.
#!/usr/bin/perl $local_datestring = localtime(); print "本地时间日期为:$local_datestring\n"; $gmt_datestring = gmtime(); print "GMT 时间日期为:$gmt_datestring\n";
Des exemples de mise en oeuvre du résultat ci-dessus est la suivante:
本地时间日期为:Sun Jun 12 11:32:14 2016 GMT 时间日期为:Sun Jun 12 03:32:14 2016
Nous pouvons voir dans l'exemple, la Chine et le décalage horaire GMT de 8 heures.
date et heure Format
Nous pouvons utiliser localtime () de l'élément fonctionnel 9 de temps pour le format de sortie du temps nécessaire au développement. Sortie formatée en utilisant la fonction printf ():
#!/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);
Des exemples de mise en oeuvre du résultat ci-dessus est la suivante:
格式化时间:HH:MM:SS 11:35:23
New Time Era (Epoch Time)
Nous pouvons utiliser la fonction time () pour obtenir une nouvelle ère du temps, la fonction retourne à partir du 1er Janvier, 1970 Nombre cumulé de secondes. Des exemples sont les suivants:
#!/usr/bin/perl $epoc = time(); print "从1970年1月1日起累计的秒数为:$epoc\n";
Des exemples de mise en oeuvre du résultat ci-dessus est la suivante:
从1970年1月1日起累计的秒数为:1465702883
Nous pouvons émettre un format de temps nous voulons:
#!/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";
Des exemples de mise en oeuvre du résultat ci-dessus est la suivante:
当期时间和日期:2106-6-12 11:49:28 昨天时间和日期:2106-6-11 11:49:28
POSIX fonction strftime ()
Fonction strftime () peut être formaté en tant que format de temps que nous voulons.
Le tableau ci-dessous présente quelques-uns des symboles de mise en forme, l'astérisque indique que vous voulez compter de l'heure locale:
symbole | description | Exemples |
---|---|---|
%a | Semaine abréviation (Sun..Sat) * | Thu |
%A | Semaine nom complet (Sunday..Saturday) * | Thursday |
%b | Mois abréviation (Jan..Dec) * | Aug |
%B | Le nom complet du mois (January..December) * | August |
%c | Date et heure * | Thu Aug 23 14:55:02 2001 |
%C | En plus de l'année 100, et l' arrondi ( 00-99 ) | 20 |
%d | Jour du mois ( 01-31 ) | 23 |
%D | Date, MM/DD/YY équivalent à %m/%d/%y | 08/23/01 |
%e | Les premiers jours du mois, complétée avec des espaces chiffres ( 1-31 ) | 23 |
%F | YYYY-MM-DD sténographie similaire à %Y-%m-%d | 2001-08-23 |
%g | Les deux derniers chiffres de l'année ( 00-99 ) | 01 |
%g | année | 2001 |
%h | * Court mois (et %b en option) | Aug |
%H | 24 heures ( 00-23 ) | 14 |
%I | 12 heures ( 01-12 ) | 02 |
%j | Les premiers jours de l'année ( 001-366 ) | 235 |
%m | Mois ( 01-12 ) | 08 |
%M | Min ( 00-59 ) | 55 |
%n | Newline ( '\n' ) | |
%p | Afficher AM ou PM | PM |
%r | Time (hh: mm: ss AM ou PM), 12 heures * | 02:55:02 pm |
%R | 24 heures HH:MM format de l' heure, égale à %H:%M | 14:55 |
%S | Secondes ( 00-61 ) | 02 |
%t | onglet Horizontal ( '\t' ) | |
%T | Time (24 heures) (hh: mm: ss) , égale à %H:%M:%S | 14:55 |
%u | Format ISO 8601 de la semaine, le lundi est 1 ( 1-7 ) | 4 |
%U | Les premières semaines de l'année, le dimanche est le premier jour ( 00-53 ) | 33 |
%V | ISO 8601 numéro de la semaine ( 00-53 ) | 34 |
%w | Les premiers jours (0 pour dimanche) une semaine ( 0-6 ) | 4 |
%W | Les premières semaines de l'année, du lundi est le premier jour ( 00-53 ) | 34 |
%x | Format pour afficher la date (mm / jj / aa) * | 08/23/01 |
%X | Format d'affichage Heure * | 14:55:02 |
%y | , Les deux chiffres ( 00-99 ) | 01 |
%Y | année | 2001 |
%z | ISO 8601 décalage de fuseau horaire de l'UTC (1 minute = 1, 1 heure = 100) | +100 |
%Z | Nom du fuseau horaire actuel, comme «heure normale de la Chine" * | CDT |
%% | % Symbole | % |
Des exemples sont les suivants:
#!/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");
Des exemples de mise en oeuvre du résultat ci-dessus est la suivante:
时间日期 - 2016-06-12 12:15:13 时间日期 - 2016-06-12 04:15:13