in reply to date arithmetic
Hello morgon,
My favorite is Date::Manip but it is not a core module, but the possibilities are infinite!
If you like it and it looks a bit complicated let me know to help you.
Update: Small sample of code to calculate Friday next week, two weeks after etc. etc...
#!/usr/bin/perl use strict; use warnings; use Date::Manip; use feature 'say'; my $dateInTwoWeeks = ParseDate("Friday in 2 weeks"); my $unixDate1 = UnixDate($dateInTwoWeeks,"%d-%m-%y"); say $unixDate1; my $dateTwoWeeksAgo = ParseDate("Friday 2 weeks ago"); my $unixDate2 = UnixDate($dateTwoWeeksAgo,"%d-%m-%y"); say $unixDate2; my $dateNextFriday = ParseDate("next Friday"); my $unixDate3 = UnixDate($dateNextFriday,"%d-%m-%y"); say $unixDate3; __END__ $ perl test.pl 09-02-18 12-01-18 02-02-18
Update 2: Sorry I just noticed your description to your problem. Solution is bellow:
#!/usr/bin/perl use strict; use warnings; use Date::Manip; use feature 'say'; my $date = ParseDate("Today"); unless (UnixDate($date, "%A") eq "Friday"){ $date = ParseDate("next Friday"); } say UnixDate($date,"%d-%m-%y"); =different format my $date = ParseDate("Today"); $date = ParseDate("next Friday") unless (UnixDate($date, "%A") eq "Friday"); say UnixDate($date,"%d-%m-%y"); =cut __END__ $ perl test.pl 26-01-18
Hope this helps, BR.
|
|---|