Get Current date in epoch from Unix shell script

UnixShellEpoch

Unix 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:

  1. For the number of seconds since the Unix epoch use date(1) as follows:

     date +'%s'
    
  2. 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.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionKrishnaView Question on Stackoverflow
Solution 1 - UnixUberAlexView Answer on Stackoverflow
Solution 2 - UnixStephan202View Answer on Stackoverflow
Solution 3 - UnixcadrianView Answer on Stackoverflow
Solution 4 - UnixChris DoggettView Answer on Stackoverflow
Solution 5 - UnixmandroidView Answer on Stackoverflow