Generates fake dates and times, formatted as human-readable date-time strings(DD-MM-YYYY:HH24:MM:SS in Oracle's date format); I needed a bunch of sample data to test a database application. You may need to generate old tax records or whatnot (warning: this code not guaranteed to save you from audits). Does no error checking, but should handle leap years nicely.
A tip of the hat to OeufMayo, who suggested a *nix timestamp (which limits the usefulness a bit, but not that much).
Combine it with Time::Local and timelocal to generate formatted time strings that lie between two dates.
sub fakedate { my ($lower_bound, $upper_bound) = @_; my $timestamp = $lower_bound + int rand ($upper_bound - $lower_bo +und +1); my @bits = (localtime($timestamp))[0..5]; $bits[5]+=1900; # year $bits[4]++; #month comes back as 0-11 sprintf("%02d-%02d-%4d:%02d:%02d:%02d", @bits[3,4,5,2,1,0]); }
In reply to Generate Fake dates by arturo
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |