Get Current date in epoch from Unix shell script
UnixShellEpochUnix Problem Overview
How to get the current date value in epoch i.e., number of days elapsed since 1970-1-1. I need solution in unix shell script.
Unix Solutions
Solution 1 - Unix
The Unix Date command will display in epoch time
the command is
date +"%s"
<https://linux.die.net/man/1/date>
Edit: Some people have observed you asked for days, so it's the result of that command divided by 86,400
Solution 2 - Unix
Update: The answer previously posted here linked to a custom script that is no longer available, solely because the OP indicated that date +'%s'
didn't work for him. Please see UberAlex' answer and cadrian's answer for proper solutions. In short:
-
For the number of seconds since the Unix epoch use
date(1)
as follows:date +'%s'
-
For the number of days since the Unix epoch divide the result by the number of seconds in a day (mind the double parentheses!):
echo $(($(date +%s) / 60 / 60 / 24))
Solution 3 - Unix
echo $(($(date +%s) / 60 / 60 / 24))
Solution 4 - Unix
echo `date +%s`/86400 | bc
Solution 5 - Unix
Depending on the language you're using it's going to be something simple like
CInt(CDate("1970-1-1") - CDate(Today()))
Ironically enough, yesterday was day 40,000 if you use 1/1/1900 as "day zero" like many computer systems use.