I tested my code a bit before posting it. For example,
'03/10/2006 4:39:11 PM' compared to '03/13/2006 4:39:11 PM' was false, while
'03/10/2006 4:39:11 PM' compared to '03/13/2006 4:39:12 PM' was true.
Can you give me the exact date strings that are resulting in problems? It sounds like the regexp isn't matching (so all the variables are undefined and treated as 0s).
Below is my code with a a die statement added to confirm the above:
sub get_time_from_local_time_string { my ($time_string) = @_; my ($M, $D, $Y, $h, $m, $s, $ampm) = $time_string =~ m{(\d+)/(\d+)/(\d+) (\d+):(\d+):(\d+) (\w+)} or die("Bad input"); if ($h == 12) { $h -= 12 if lc($ampm) eq 'am'; } else { $h += 12 if lc($ampm) eq 'pm'; } return timelocal($s, $m, $h, $D, $M-1, $Y); }
In reply to Re^5: Comparing Dates
by ikegami
in thread Comparing Dates
by perl_99_monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |