What is epoch time?The Unix epoch (or Unix time or POSIX time or Unix timestamp) is the number of seconds that have elapsed since January 1, 1970 (midnight UTC/GMT), not counting leap seconds (in ISO 8601: 1970-01-01T00:00:00Z). Literally speaking the epoch is Unix time 0 (midnight 1-1-1970), but 'epoch' is often used as a synonym for 'Unix time'. Many Unix systems store epoch dates as a signed 32-bit integer, which might cause problems on January 19, 2038 (known as the Year 2038 problem or Y2038). | Human readable time | Seconds | | 1 minute | 60 seconds | | 1 hour | 3600 seconds | | 1 day | 86400 seconds | | 1 week | 604800 seconds | | 1 month (30.44 days) | 2629743 seconds | | 1 year (365.24 days) | 31556926 seconds |
Convert epoch to human readable date
Epoch dates for the start and end of the year/month/day
Convert seconds to days, hours and minutes
How to get the current epoch time in ...| Perl | time | | PHP | time() | | Ruby | Time.now (or Time.new). To display the epoch: Time.now.to_i | | Python | import time first, then time.time() | | Java | long epoch = System.currentTimeMillis()/1000; | | Microsoft .NET C# | epoch = (DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000; | | VBScript/ASP | DateDiff("s", "01/01/1970 00:00:00", Now()) | | Erlang | calendar:datetime_to_gregorian_seconds(calendar:now_to_universal_time( now()))-719528*24*3600. | | MySQL | SELECT unix_timestamp(now()) | | PostgreSQL | SELECT extract(epoch FROM now()); | | SQL Server | SELECT DATEDIFF(s, '1970-01-01 00:00:00', GETUTCDATE()) | | JavaScript | Math.round(new Date().getTime()/1000.0) getTime() returns time in milliseconds. | | Unix/Linux | date +%s | | Other OS's | Command line: perl -e "print time" (If Perl is installed on your system) |
Convert from human readable date to epoch| PHP | mktime(hour, minute, second, month, day, year) | | Ruby | Time.local(year, month, day, hour, minute, second, usec ) (or Time.gm for GMT/UTC input). To display add .to_i | | Python | import time first, then int(time.mktime(time.strptime('2000-01-01 12:34:00', '%Y-%m-%d %H:%M:%S'))) | | Java | long epoch = new java.text.SimpleDateFormat ("dd/MM/yyyy HH:mm:ss").parse("01/01/1970 01:00:00"); | | VBScript/ASP | DateDiff("s", "01/01/1970 00:00:00", time field) | | MySQL | SELECT unix_timestamp(time) Time format: YYYY-MM-DD HH:MM:SS or YYMMDD or YYYYMMDD
| | PostgreSQL | SELECT extract(epoch FROM date('2000-01-01 12:34')); With timestamp: SELECT EXTRACT(EPOCH FROM TIMESTAMP WITH TIME ZONE '2001-02-16 20:38:40-08'); With interval: SELECT EXTRACT(EPOCH FROM INTERVAL '5 days 3 hours'); | | SQL Server | SELECT DATEDIFF(s, '1970-01-01 00:00:00', time field) | | Unix/Linux | date +%s -d"Jan 1, 1980 00:00:01" |
Convert from epoch to human readable date| PHP | date(output format, epoch); Output format example: 'r' = RFC 2822 date | | Ruby | Time.at(epoch) | | Python | import time first, then time.strftime("%a, %d %b %Y %H:%M:%S +0000", time.localtime(epoch))Replace time.localtime with time.gmtime for GMT time. | | Java | String date = new java.text.SimpleDateFormat("dd/MM/yyyy HH:mm:ss").format(new java.util.Date (epoch*1000)); | | VBScript/ASP | DateAdd("s", epoch, "01/01/1970 00:00:00") | | PostgreSQL | SELECT TIMESTAMP WITH TIME ZONE 'epoch' + epoch * INTERVAL '1 second'; | | MySQL | from_unixtime(epoch, optional output format) The default output format is YYY-MM-DD HH:MM:SS | | SQL Server | DATEADD(s, epoch, '1970-01-01 00:00:00') | | Microsoft Excel | =(A1 / 86400) + 25569 Format the result cell for date/time, the result will be in GMT time (A1 is the cell with the epoch number). For other timezones: =((A1 +/- timezone adjustment) / 86400) + 25569. | | Linux | date -d @1190000000 (replace 1190000000 with your epoch, needs newer version of date) | | Other OS's | Command line: perl -e "print scalar(localtime(epoch))" (If Perl is installed) Replace 'localtime' with 'gmtime' for GMT/UTC time. |
|