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