📜  珀尔 |日期和时间

📅  最后修改于: 2022-05-13 01:55:49.492000             🧑  作者: Mango

珀尔 |日期和时间

Perl 是功能最丰富的编程语言之一。 Perl 是可移植的和跨平台的。 Perl 可以在 100 多个平台上运行,具有高度集成的文本处理能力。 Perl 包含不同语言的特性,如 C、sed、awk 和 sh 等,这使得 Perl 更加有用和高效。

Perl 是一种易于使用的语言。它旨在高效和完整,而不是优雅和最小化。 Perl 支持一些主要的编程范式以及面向对象的、过程的和实用的。
Perl 中的日期和时间可以通过使用 Perl 的预定义模块 DateTime 模块来处理。 DateTime 是用于表示各种日期和时间组合的类。 Perl 中的 DateTime 模块代表新样式日历,在其创建之前(1582 年)在时间上向后扩展。
这通常被称为“预测公历”。
在这个日历中,日历的第一天(纪元)是第一年的第一天,对应于(错误地)被认为是耶稣基督诞生的日期。

当地时间()

Perl 中的localtime()函数返回系统的当前日期和时间,如果调用时没有传递任何参数。

#!/usr/local/bin/perl  
$datetime = localtime();  
print "Local Time of the System : $datetime\n"; 
输出:
Local Time of the System : Fri Nov 15 07:21:05 2019

创建时间戳

Perl 中的时间戳用于显示当天的当前日期和时间。时间戳显示的数据有时精确到几分之一秒。
可以通过创建 DateTime 对象然后调用now构造函数来创建时间戳。

#!/usr/bin/perl
use DateTime;
  
# Creation of Timestamp
my $datetime = DateTime->now;  
print "$datetime\n";  

也可以通过提供所有详细信息部分来创建 DateTime 对象,例如日期、小时、分钟、秒等。未传递值的变量的默认值为“ 0 ”。

#!/usr/bin/perl
use DateTime; 
  
# Assigning values to variable
$datetime = DateTime->new(  
    day        => 18,  
    month      => 7,  
    year       => 2003,  
    hour       => 12,
);  
  
print"$datetime\n";  

寻找格林威治标准时间

GMT 代表格林威治标准时间,这是伦敦格林威治皇家天文台的平均太阳时。 GMT 全年相同,不受夏令时(夏令时)时钟变化的影响。
Perl 提供了一个用于计算和表示 GMT 的预定义函数,即gmtime() 。此函数的工作方式类似于localtime()函数,但唯一的区别是时间值仅针对格林威治时区进行本地化。

#!/usr/local/bin/perl
  
# Using function gmtime()
$datestring = gmtime();
  
# Printing GMT time
print "Date and time in GMT: $datestring\n";
输出:
Date and time in GMT: Fri Nov 15 11:10:05 2019

格式化日期和时间

localtime()函数还可用于根据用户的要求以各种格式打印日期和时间。使用printf()函数可以轻松完成这种格式化。

#!/usr/local/bin/perl
  
# Assigning values to variables
($sec, $min, $hour) = localtime();
  
printf("Time Format - HH:MM:SS\n");
  
# Formatting the time representation
printf("%02d:%02d:%02d", 
        $hour, $min, $sec);
输出:
Time Format - HH:MM:SS
11:38:06

纪元时间

纪元时间是指在特定日期和时间之后经过的秒数。用于计算纪元时间的具体日期和时间因操作系统而异。例如,对于 POSIX 或 UNIX 系统,这个日期是 1970 年 1 月 1 日。由于这个时间因系统而异,所以不能假设任何系统的纪元时间。

#!/usr/local/bin/perl  
  
# Calculating epoch time
$epoch = time();  
  
print "$epoch\n";  
输出:
1573818532