How to Understand Epoch & Unix Timestamp | Epoch Converter
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); |
| 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/
I’m a DevOps/SRE/DevSecOps/Cloud Expert passionate about sharing knowledge and experiences. I have worked at Cotocus. I share tech blog at DevOps School, travel stories at Holiday Landmark, stock market tips at Stocks Mantra, health and fitness guidance at My Medic Plus, product reviews at TrueReviewNow , and SEO strategies at Wizbrand.
Do you want to learn Quantum Computing?
Please find my social handles as below;
Rajesh Kumar Personal Website
Rajesh Kumar at YOUTUBE
Rajesh Kumar at INSTAGRAM
Rajesh Kumar at X
Rajesh Kumar at FACEBOOK
Rajesh Kumar at LINKEDIN
Rajesh Kumar at WIZBRAND
Find Trusted Cardiac Hospitals
Compare heart hospitals by city and services — all in one place.
Explore Hospitals
