Latest web development tutorials

Perl Дата Время

В этом разделе, мы вводим язык Perl для даты и времени обработки.

Perl, является функцией от времени обработки, являются следующие:

  • Функция 1, время (): Возвращает с 1 января 1970 года общее число секунд
  • Функция 2, LocalTime (): Получить местный часовой пояс
  • Функция 3, gmtime (): Get GMT

Текущее время и дата

Давайте посмотрим функциюМестноеВремя (), которая возвращает текущую дату и время без каких - либо параметров.

Следующие девять символов, представляющих различные параметры даты и времени:

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

Примеры представления следующим образом:

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

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

Примеры реализации вышеуказанной продукции является:

12 六月 星期天

Если прямой призыв к МестноеВремя (), который возвращает текущие настройки часовой пояс системы, примеры являются следующие:

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

Примеры реализации вышеуказанной продукции является:

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

Среднее время по Гринвичу (GMT)

Функцияgmtime () и LocalTime () аналогична, но она возвращает стандартное время по Гринвичу.

#!/usr/bin/perl

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

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

Примеры реализации вышеуказанной продукции является:

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

Мы можем видеть из примера, Китай и разница во времени по Гринвичу 8 часов.


Формат даты и времени

Мы можем использовать МестноеВремя () 9 раз функция элемента в выходной формат времени, необходимого для разработки. Форматированный вывод с помощью функции Е ():

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

Примеры реализации вышеуказанной продукции является:

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

Новое время Эра (Epoch Time)

Мы можем использовать функцию времени (), чтобы получить новую эру времени, функция возвращает с 1 января 1970 г. кумулятивное число секунд. Примерами могут служить следующие:

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

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

Примеры реализации вышеуказанной продукции является:

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

Мы можем вывести формат времени мы хотим:

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

Примеры реализации вышеуказанной продукции является:

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

POSIX функции STRFTIME ()

Функция STRFTIME () может быть отформатирован в формате времени мы хотим.

В следующей таблице перечислены некоторые из символов форматирования, звездочка означает, что вы хотите, чтобы полагаться на местное время:

символ описание примеров
%a Неделя аббревиатура (Sun..Sat) * Thu
%A Неделя полное имя (Sunday..Saturday) * Thursday
%b Месяц аббревиатура (Jan..Dec) * Aug
%B Полное название месяца (January..December) * August
%c Дата и время * Thu Aug 23 14:55:02 2001
%C В дополнение к 100 году, и закруглением ( 00-99 ) 20
%d День месяца ( 01-31 ) 23
%D Дата, MM/DD/YY эквивалентно %m/%d/%y 08/23/01
%e Первые несколько дней месяца, дополняется пробелами цифр ( 1-31 ) 23
%F YYYY-MM-DD обсчитывать похож на %Y-%m-%d 2001-08-23
%g Последние две цифры года ( 00-99 ) 01
%g год 2001
%h * Короткие месяцев (и %b вариант) Aug
%H 24-часовые часы ( 00-23 ) 14
%I 12-часовые часы ( 01-12 ) 02
%j Первые несколько дней в году ( 001-366 ) 235
%m Месяц ( 01-12 ) 08
%M Min ( 00-59 ) 55
%n Newline ( '\n' )
%p Показать AM или PM PM
%r Время (чч: мм: сс AM или PM), 12 часов * 02:55:02 pm
%R 24 часа HH:MM формат времени, равные %H:%M 14:55
%S Секунды ( 00-61 ) 02
%t Горизонтальная табуляция ( '\t' )
%T Время (24-часовой формат времени) (чч: мм: сс) , равный %H:%M:%S 14:55
%u ISO 8601 формат недели, понедельник 1 ( 1-7 ) 4
%U Первые несколько недель в году, в воскресенье в первый день ( 00-53 ) 33
%V ISO 8601 номер недели ( 00-53 ) 34
%w Первые несколько дней (0 в воскресенье) в неделю ( 0-6 ) 4
%W Первые несколько недель в году, в понедельник первый день ( 00-53 ) 34
%x Формат отображения даты (мм / дд / гг) * 08/23/01
%X Формат отображения времени * 14:55:02
%y , Двузначное ( 00-99 ) 01
%Y год 2001
%z ISO 8601 смещение часового пояса от UTC (1 минута = 1, 1 час = 100)

+100
%Z Название текущего часового пояса, такие как "China Standard Time" *

CDT
%% % Символ %

Примерами могут служить следующие:

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

Примеры реализации вышеуказанной продукции является:

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