在perl中创建时间变量

时间:2015-03-07 16:34:22

标签: perl

我想创建一个存储硬编码小时和分钟值的变量。其余的东西,如分钟,日期,日期,年份应该是当前的日期和时间。我怎样才能做到这一点?我尝试过timelocal,localtime和许多其他人,但他们没有工作。

2 个答案:

答案 0 :(得分:0)

如果您对完整的日期时间对象感兴趣(就像根据您的描述一样),请使用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

答案 1 :(得分:-1)

除非我遗漏了某些内容,否则确实使用localtime,就像在perldoc中一样: http://perldoc.perl.org/functions/localtime.html

($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);

然后,如果你想坚持使用破坏的组件,你可以覆盖你想要的任何变量"修复":

$hour = $my_hardcoded_hour;
$min  = $my_hardcoded_minute;

如果相反,你需要将其转换回自纪元以来的#34;秒。 (1970年1月1日,格林尼治标准时间上午12:00)格式,您需要Time::Local包:

http://perldoc.perl.org/Time/Local.html

use Time::Local;

$epoch_current_time_with_fixed_hour_min = 
    timelocal($sec, $my_hardcoded_minutes, $my_hardcoded_hour, $mday, $mon, $year);