Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

Hi Monks!
I need to get the time without the seconds, does anyone here knows how I could do that using "Date::Format". Here is a code I am trying:
#!/usr/bin/perl use Time::Zone; use Date::Format; my ($today_date, $today_time) = get_timezone(); sub get_timezone { $ENV{'TZ'} = 'America/New_York'; $today_date = time2str( "%Y/%m/%d", time); # Need the time without the seconds in %r $today_time = time2str( "%r", time); return $today_date, $today_time; } print "\n Date: $today_date - $today_time \n";
Thanks!

Replies are listed 'Best First'.
Re: Get time without seconds
by LanX (Saint) on Mar 25, 2013 at 00:23 UTC
    Whats wrong with replacing %r with the appropriate placeholders for hour, minute and AM/PM but excluding seconds?

    from Date::Format

    ... %H hour, 24 hour clock, leading 0's) %I hour, 12 hour clock, leading 0's) %j day of the year %k hour %l hour, 12 hour clock %L month number, starting with 1 %m month number, starting with 01 %M minute, leading 0's %n NEWLINE %o ornate day of month -- "1st", "2nd", "25th", etc. %p AM or PM ...

    Cheers Rolf

    ( addicted to the Perl Programming Language)

      What about this:
      $today_time = time2str( "%I:%M %p", time);
Re: Get time without seconds
by igelkott (Priest) on Mar 25, 2013 at 00:25 UTC

    Switch %r to %R