在perl中创建时间变量

在perl中创建时间变量,perl,Perl,我想创建一个变量来存储硬编码的小时和分钟值。其他的东西,如分钟,天,日期,年应该是当前的日期和时间。我该怎么做?我尝试了timelocal、localtime和许多其他方法,但都不起作用 除非我遗漏了什么,否则您确实可以使用localtime,如perldoc中的: 然后,如果您想坚持使用故障组件,您可以覆盖要修复的任何变量: $hour = $my_hardcoded_hour; $min = $my_hardcoded_minute; 如果您需要将其转换回1970年1月1日12:00A

我想创建一个变量来存储硬编码的小时和分钟值。其他的东西,如分钟,天,日期,年应该是当前的日期和时间。我该怎么做?我尝试了timelocal、localtime和许多其他方法,但都不起作用

除非我遗漏了什么,否则您确实可以使用localtime,如perldoc中的:

然后,如果您想坚持使用故障组件,您可以覆盖要修复的任何变量:

$hour = $my_hardcoded_hour;
$min  = $my_hardcoded_minute;
如果您需要将其转换回1970年1月1日12:00AM GMT格式以来的秒数,则需要Time::Local软件包:


如果您对一个完整的日期时间对象感兴趣,就像您描述的那样,请使用DateTime。例如:

use DateTime;
my $dt = DateTime->now;  # initialize with current date time
$dt->set_hour(20);  #set your own hour
$dt->set_minute(20); #set your own minute

恐怕你需要详细说明你想要实现的目标。你想干什么?我建议将Time::Piece视为操纵时间和日期的好模块。正如Sobrique所说,这可能是一个很好的选择。它重载localtime,因此您可以只说my$now=localtime,而$now则成为一个Time::Piece对象,您可以根据需要对其进行操作和格式化。如果你不多说你需要做什么,我们就帮不了你了。澄清你的问题。向我们展示您所做的尝试。localtime如何不起作用?这个问题和答案非常简单。除了试图回答一个不明确的问题之外,还有人愿意指出问题所在吗?谢谢:这正是我想要的。这符合我的目的。
use Time::Local;

$epoch_current_time_with_fixed_hour_min = 
    timelocal($sec, $my_hardcoded_minutes, $my_hardcoded_hour, $mday, $mon, $year);
use DateTime;
my $dt = DateTime->now;  # initialize with current date time
$dt->set_hour(20);  #set your own hour
$dt->set_minute(20); #set your own minute