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 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 |
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()) |
R | as.numeric(Sys.time()) |
Erlang | calendar:datetime_to_gregorian_seconds(calendar:now_to_universal_time( now()))-719528*24*3600. |
MySQL | SELECT unix_timestamp(now()) More info (+ negative epochs) |
PostgreSQL | SELECT extract(epoch FROM now()); |
Oracle PL/SQL | SELECT (SYSDATE – TO_DATE(’01/01/1970 00:00:00′, ‘MM-DD-YYYY HH24:MI:SS’)) * 24 * 60 * 60 FROM DUAL |
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. |
Tcl/Tk | clock seconds |
Unix/Linux Shell | date +%s |
PowerShell | Get-Date -UFormat “%s” Produces: 1279152364.63599 |
Other OS’s | Command line: perl -e “print time” (If Perl is installed on your system) |
Convert from human readable date to epoch
Perl | Use the Perl Epoch routines |
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’))) – time.timezone |
Java | long epoch = new java.text.SimpleDateFormat (“MM/dd/yyyy HH:mm:ss”).parse(“01/01/1970 01:00:00”).getTime(); |
VBScript/ASP | DateDiff(“s”, “01/01/1970 00:00:00”, time field) |
C | Use the C Epoch Converter routines |
R | as.numeric(as.POSIXct(“MM/dd/yyyy HH:mm:ss”, origin=”1970-01-01″)) |
MySQL | SELECT unix_timestamp(time) Time format: YYYY-MM-DD HH:MM:SS or YYMMDD or YYYYMMDD More on using Epoch timestamps with MySQL |
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) |
JavaScript | Use the JavaScript Date object |
Unix/Linux Shell | date +%s -d”Jan 1, 1980 00:00:01″ Replace ‘-d’ with ‘-ud’ to input in GMT/UTC time. |
Convert from epoch to human readable date
Perl | Use the Perl Epoch routines |
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(“MM/dd/yyyy HH:mm:ss”).format(new java.util.Date (epoch*1000)); |
VBScript/ASP | DateAdd(“s”, epoch, “01/01/1970 00:00:00”) |
C | Use the C Epoch Converter routines |
R | as.POSIXct(epoch, origin=”1970-01-01″) |
MySQL | from_unixtime(epoch, optional output format) The default output format is YYY-MM-DD HH:MM:SS more … |
PostgreSQL | PostgreSQL version 8.1 and higher: SELECT to_timestamp(epoch); Older versions: SELECT TIMESTAMP WITH TIME ZONE ‘epoch’ + epoch * INTERVAL ‘1 second’; |
Oracle PL/SQL | SELECT to_date(’01-JAN-1970′,’dd-mon-yyyy’)+(1326357743/60/60/24) from dual Replace 1326357743 with epoch. |
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 time zones: =((A1 +/- time zone adjustment) / 86400) + 25569. |
Crystal Reports | DateAdd(“s”, {EpochTimeStampField}-14400, #1/1/1970 00:00:00#) -14400 used for Eastern Standard Time. See Time Zones. |
JavaScript | Use the JavaScript Date object |
Tcl/Tk | clock format 1325376000 |
Unix/Linux Shell | date -d @1190000000 Replace 1190000000 with your epoch, needs recent version of ‘date’. Replace ‘-d’ with ‘-ud’ for GMT/UTC time. |
PowerShell | Function get-epochDate ($epochDate) { [timezone]::CurrentTimeZone.ToLocalTime(([datetime]’1/1/1970′).AddSeconds($epochDate)) }, then use: get-epochDate 1279152364. Works for Windows PowerShell v1 and v2 |
Other OS’s | Command line: perl -e “print scalar(localtime(epoch))” (If Perl is installed) Replace ‘localtime’ with ‘gmtime’ for GMT/UTC time. |
Reference
http://www.epochconverter.com/
Latest posts by Rajesh Kumar (see all)
- Installing Jupyter: Get up and running on your computer - November 2, 2024
- An Introduction of SymOps by SymOps.com - October 30, 2024
- Introduction to System Operations (SymOps) - October 30, 2024