Latest web development tutorials

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