Random MySQL Dates
Here is a good way to generate a random date that you can use in MySQL.
SELECT FROM_UNIXTIME(RAND() * 2147483648) AS MyDate;
or
INSERT INTO TableName (DateField) VALUES (FROM_UNIXTIME(RAND() * 2147483648));
Tags:
Here is a good way to generate a random date that you can use in MySQL.
SELECT FROM_UNIXTIME(RAND() * 2147483648) AS MyDate;
or
INSERT INTO TableName (DateField) VALUES (FROM_UNIXTIME(RAND() * 2147483648));
Tags:
Linux has a common date/time format used in logs that looks like May 4 01:04:16
. Often I will need to parse that into a unixtime so I wrote a function to do it so I won't have to reinvent the wheel next time:
use Time::Piece;
my $epoch = linux_timestr("May 4 01:04:16");
sub linux_timestr {
my $time_str = shift();
# Since this string type doesn't include the year we append the current
# year to make the calculations correct. Otherwise we get 1970
my $year = (localtime())[5] + 1900;
$time_str .= " $year";
my $format = "%b %d %H:%M:%S %Y";
my $x = localtime->strptime($time_str, $format);
return $x->epoch();
}
Other common formats are cdate and ISO 8601
# cdate
my $x = localtime->strptime("Sat May 8 21:24:31 2021", "%a %b %d %H:%M:%S %Y");
# ISO 8601
my $y = localtime->strptime("2000-02-29T12:34:56", "%Y-%m-%dT%H:%M:%S");
Tags:
Pay day is once a month on the 7th. Can you calculate the number of days until payday using a Perl one-liner in less than a hundred characters? I wasn't able to do it, but some creative Redditors were:
perl -E '$_=-1;for($t=time;$d!=7;$t+=86400){$_++;$d=(localtime($t))[3]}say'
Tags: