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]); }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Generate Fake dates
by marcink (Monk) on Jun 27, 2001 at 01:05 UTC |