Latest web development tutorials

Perl Data Hora

Nesta seção, nós introduzimos a linguagem Perl para a data e hora do processamento.

Perl é uma função do tempo de processamento são os seguintes:

  • 1 função, time (): Retorna a partir de 01 de janeiro de 1970 o número acumulado de segundos
  • , Função 2 localtime (): Obter o fuso horário local
  • 3, função gmtime (): Get GMT

hora e data atual

Vejamos funçãolocaltime (), que retorna a data e hora corrente em nenhum parâmetro.

Os nove símbolos seguintes representam diferentes parâmetros de data e hora:

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    # 如果夏令时有效,则为真

Exemplos de apresentação, como segue:

#!/usr/bin/perl
 
@months = qw( 一月 二月 三月 四月 五月 六月 七月 八月 九月 十月 十一月 十二月 );
@days = qw(星期天 星期一 星期二 星期三 星期四 星期五 星期六);

($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime();
print "$mday $months[$mon] $days[$wday]\n";

Exemplos da implementação da saída acima é:

12 六月 星期天

Se a chamada direta para localtime (), que retorna as configurações atuais de fuso horário do sistema, os exemplos são os seguintes:

#!/usr/bin/perl
 
$datestring = localtime();
print "时间日期为:$datestring\n";

Exemplos da implementação da saída acima é:

时间日期为:Sun Jun 12 11:27:31 2016

Greenwich Mean Time (GMT)

gmtime function ()e localtime () é semelhante, mas ele retorna o padrão Greenwich Mean Time.

#!/usr/bin/perl

$local_datestring = localtime();
print "本地时间日期为:$local_datestring\n";

$gmt_datestring = gmtime();
print "GMT 时间日期为:$gmt_datestring\n";

Exemplos da implementação da saída acima é:

本地时间日期为:Sun Jun 12 11:32:14 2016
GMT 时间日期为:Sun Jun 12 03:32:14 2016

Nós podemos ver no exemplo, a China ea diferença de tempo GMT de 8 horas.


data e hora formato

Podemos usar LocalTime () 9 elemento função do tempo para o formato do tempo necessário para o desenvolvimento de saída. saída formatada usando a função 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);

Exemplos da implementação da saída acima é:

格式化时间:HH:MM:SS
11:35:23

New Era Time (Epoch Time)

Podemos usar a função time () para obter uma nova era de tempo, a função retorna a partir de 01 de janeiro de 1970 Número acumulado de segundos. Exemplos são os seguintes:

#!/usr/bin/perl
 
$epoc = time();

print "从1970年1月1日起累计的秒数为:$epoc\n";

Exemplos da implementação da saída acima é:

从1970年1月1日起累计的秒数为:1465702883

Podemos saída de um formato de hora que queremos:

#!/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";

Exemplos da implementação da saída acima é:

当期时间和日期:2106-6-12 11:49:28
昨天时间和日期:2106-6-11 11:49:28

POSIX strftime function ()

strftime () função pode ser formatado como formato de hora que queremos.

A tabela a seguir lista alguns dos símbolos de formatação, asterisco indica que você quer contar com a hora local:

símbolo descrição Exemplos
%a Semana abreviatura (Sun..Sat) * Thu
%A Semana nome completo (Sunday..Saturday) * Thursday
%b Mês abreviação (Jan..Dec) * Aug
%B O nome completo do mês (January..December) * August
%c Data e Hora * Thu Aug 23 14:55:02 2001
%C Além do ano 100, e arredondamento ( 00-99 ) 20
%d Dia do mês ( 01-31 ) 23
%D Data, MM/DD/YY equivalente a %m/%d/%y 08/23/01
%e Os primeiros dias do mês, preenchido com espaços dígitos ( 1-31 ) 23
%F YYYY-MM-DD taquigrafia semelhante a %Y-%m-%d 2001-08-23
%g Os dois últimos dígitos do ano ( 00-99 ) 01
%g ano 2001
%h * Meses curtos (e %b opção) Aug
%H relógio de 24 horas ( 00-23 ) 14
%I relógio de 12 horas ( 01-12 ) 02
%j Os primeiros dias do ano ( 001-366 ) 235
%m Month ( 01-12 ) 08
%M Min ( 00-59 ) 55
%n Nova linha ( '\n' )
%p Mostrar AM ou PM PM
%r Time (hh: mm: ss AM ou PM), 12 horas * 02:55:02 pm
%R 24 horas HH:MM formato da hora, o equivalente a %H:%M 14:55
%S Segundos ( 00-61 ) 02
%t guia horizontal ( '\t' )
%T Tempo (relógio de 24 horas) (hh: mm: ss) , igual a %H:%M:%S 14:55
%u ISO 8601 da semana, segunda-feira é 1 ( 1-7 ) 4
%U As primeiras semanas do ano, o domingo é o primeiro dia ( 00-53 ) 33
%V ISO 8601 número de semana ( 00-53 ) 34
%w Os primeiros dias (0 para domingo) uma semana ( 0-6 ) 4
%W As primeiras semanas do ano, segunda-feira é o primeiro dia ( 00-53 ) 34
%x Formato para exibir a data (mm / dd / aa) * 08/23/01
%X Formato de exibição Time * 14:55:02
%y , The de dois dígitos ( 00-99 ) 01
%Y ano 2001
%z ISO 8601 deslocamento do UTC fuso horário (1 minuto = 1, 1 hora = 100)

+100
%Z Nome do fuso horário atual, como "Horário padrão China" *

CDT
%% % Símbolo %

Exemplos são os seguintes:

#!/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");

Exemplos da implementação da saída acima é:

时间日期 - 2016-06-12 12:15:13
时间日期 - 2016-06-12 04:15:13