程序来计算时间

时间:2015-02-25 23:38:07

标签: perl perl-module

我想计算当前时间并添加2分钟,然后按以下格式打印输出。 HH:MM。我在网上搜索并发现有很多CPAN模块可以用来实现它。但是我想在没有cpan模块的情况下这样做。

  $current_time = time();

  $new_time  = $current_time + (2*60); // adding  two minutes 

  print( ' the time is ' .  $ new_time  ) ;

 Output : the time is 1424906904

我在网上搜索并发现我们需要使用POSIX perl接口以适当的格式打印时间。但是,我想知道是否有办法在不使用任何cpan模块的情况下执行此操作。

3 个答案:

答案 0 :(得分:1)

您可以使用localtime

print scalar localtime($current_time);

或者你可以通过POSIX::strftime运行localtime的返回值(它以Perl作为核心模块分发):

use POSIX qw(strftime);

print strftime('%Y-%m-%d %H:%M:%S', localtime $current_time);

答案 1 :(得分:0)

localtime很容易做到。小时,分钟和秒是返回的第2个,第1个和第0个值。例如:

my ($sec, $min, $hours) = localtime(time()+120); # add 120 seconds

printf "%02d:%02d:%02d\n", $hours, $min, $sec;

答案 2 :(得分:0)

自2007年以来,

Time::PieceTime::Seconds已包含在所有Perl安装中。

#!/usr/bin/perl

use strict;
use warnings;
use 5.010;

use Time::Piece;
use Time::Seconds;

my $time = localtime;
$time += 2 * ONE_MINUTE;

say $time->strftime('%H:%M');