Latest web development tutorials

Perl Fecha Hora

En esta sección, se introduce el lenguaje Perl para la fecha y hora de procesamiento.

Perl es una función del tiempo de procesamiento son los siguientes:

  • 1 función, el tiempo (): Devuelve 1 de enero de 1970, el número acumulado de segundos
  • 2 función, localtime (): Obtener la zona horaria local
  • función 3, gmtime (): Obtener GMT

La hora y la fecha

Vamos a la funciónlocaltime (), que devuelve la fecha y hora actual en ningún parámetro de un vistazo.

Los siguientes nueve símbolos que representan diferentes parámetros de fecha y 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    # 如果夏令时有效,则为真

Ejemplos de presentación como sigue:

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

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

Los ejemplos de la aplicación de la salida anterior es:

12 六月 星期天

Si la llamada directa a localtime (), que devuelve la configuración actual de la zona horaria del sistema, los ejemplos son los siguientes:

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

Los ejemplos de la aplicación de la salida anterior es:

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

Greenwich Mean Time (GMT)

gmtime () y localtime () es similar, pero devuelve la norma hora media de Greenwich.

#!/usr/bin/perl

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

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

Los ejemplos de la aplicación de la salida anterior es:

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

Podemos ver en el ejemplo, China y la diferencia horaria GMT de 8 horas.


formato de fecha y hora

Podemos utilizar localtime () function element 9 tiempo para el formato de salida del tiempo necesario para desarrollar. salida con formato utilizando la función 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);

Los ejemplos de la aplicación de la salida anterior es:

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

Nuevo Tiempo Era (Epoch Time)

Podemos utilizar la función de tiempo () para obtener una nueva era de tiempo, la función devuelve el 1 de enero, 1970 Número acumulado de segundos. Ejemplos son los siguientes:

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

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

Los ejemplos de la aplicación de la salida anterior es:

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

Podemos salida de un formato de hora que desee:

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

Los ejemplos de la aplicación de la salida anterior es:

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

la función strftime POSIX ()

función strftime () puede tener el formato de formato de hora que queremos.

La siguiente tabla muestra algunos de los símbolos de formato, asterisco indica que quiere depender de la hora local:

símbolo descripción Ejemplos
%a Semana abreviatura (Sun..Sat) * Thu
%A Semana nombre completo (Sunday..Saturday) * Thursday
%b Mes abreviatura (Jan..Dec) * Aug
%B El nombre completo del mes (January..December) * August
%c Fecha y Hora * Thu Aug 23 14:55:02 2001
%C Además del año 100, y el redondeo ( 00-99 ) 20
%d Día del mes ( 01-31 ) 23
%D Fecha, MM/DD/YY equivalente a %m/%d/%y 08/23/01
%e Los primeros días del mes, rellena con espacios dígitos ( 1-31 ) 23
%F YYYY-MM-DD taquigrafía similar a %Y-%m-%d 2001-08-23
%g Los dos últimos dígitos del año ( 00-99 ) 01
%g año 2001
%h * Meses cortos (y %b opcional) Aug
%H reloj de 24 horas ( 00-23 ) 14
%I reloj de 12 horas ( 01-12 ) 02
%j Los primeros días del año ( 001-366 ) 235
%m Mes ( 01-12 ) 08
%M Min ( 00-59 ) 55
%n De nueva línea ( '\n' )
%p Mostrar AM o PM PM
%r Hora (hh: mm: ss AM o PM), 12 horas * 02:55:02 pm
%R 24 horas HH:MM formato de hora, lo que equivale a %H:%M 14:55
%S Segundos ( 00-61 ) 02
%t pestaña horizontal ( '\t' )
%T Hora (reloj de 24 horas) (hh: mm: ss) , igual a %H:%M:%S 14:55
%u ISO 8601 formato de la semana, de lunes es 1 ( 1-7 ) 4
%U Las primeras semanas del año, el domingo es el primer día ( 00-53 ) 33
%V ISO 8601 número de la semana ( 00-53 ) 34
%w Los primeros días (0 para Domingo) a la semana ( 0-6 ) 4
%W Las primeras semanas del año, el lunes es el primer día ( 00-53 ) 34
%x Formato de visualización de la fecha (dd / mm / aa) * 08/23/01
%X Formato de visualización de tiempo * 14:55:02
%y , El de dos dígitos ( 00-99 ) 01
%Y año 2001
%z ISO 8601 desplazamiento de zona horaria a UTC (1 minuto = 1, 1 hora = 100)

+100
%Z Nombre de la zona horaria actual, tales como "China Standard Time" *

CDT
%% % Símbolo %

Ejemplos son los siguientes:

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

Los ejemplos de la aplicación de la salida anterior es:

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