user3446781
user3446781

Reputation:

Subtracting a Minute in Perl

I have a variable in Perl that I initialized as $invoice_date = '1/6/14' (June 1st 2014). How can I determine the datatype that Perl considers this variable to be?

I'd like to subtract a minute from the invoice date to get May 31 2014 11:59PM. How can I do this with or without declaring $invoice_date to be a certain datatype?

Update: Thanks for the comments and answers. Since it is a string, I am going to try to concatenate the time portion. I have a another variable $period_end_date which is set to May 31, 2014. I'm going to try to concatenate the 11:59PM to it.

The string is subsequently sent in a SQL statement. If I can figure out what SQL expects for the string, it should be possible to insert the time portion.

Upvotes: 0

Views: 182

Answers (1)

mpapec
mpapec

Reputation: 50647

You need some date manipulation module as '1/6/14' is plain string, and two digit years were abandoned prior to Y2K event.

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

my $t =  Time::Piece->strptime("1/6/2014", "%d/%m/%Y");
$t -= ONE_MINUTE;
print $t;

output

Sat May 31 23:59:00 2014

Upvotes: 3

Related Questions