How to get the current epoch time
PHP
time()More PHP
Python
import time; time.time()Source
Ruby
Time.now (or Time.new). To display the epoch: Time.now.to_iPerl
timeMore Perl
Java
long epoch = System.currentTimeMillis()/1000;Returns epoch in seconds.
C#
DateTimeOffset.Now.ToUnixTimeSeconds()(.NET Framework 4.6+/.NET Core), older versions: var epoch = (DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).TotalSeconds;
Objective-C
[[NSDate date] timeIntervalSince1970];(returns double) or NSString *currentTimestamp = [NSString stringWithFormat:@"%f", [[NSDate date] timeIntervalSince1970]];
C++11
double now = std::chrono::duration_cast<std::chrono::seconds> (std::chrono::system_clock::now().time_since_epoch()).count();Lua
epoch = os.time([date])VBScript/ASP
See the examplesAutoIT
_DateDiff('s', "1970/01/01 00:00:00", _NowCalc())Delphi
Epoch := DateTimetoUnix(Now);Tested in Delphi 2010.
Dart
DateTime.now().microsecondsSinceEpochR
as.numeric(Sys.time())Erlang/OTP
erlang:system_time(seconds).(version 18+), older versions: calendar:datetime_to_gregorian_seconds(calendar:universal_time())-719528*24*3600.
MySQL
SELECT unix_timestamp(now())More MySQL examples
PostgreSQL
SELECT extract(epoch FROM now());SQLite
SELECT strftime('%s', 'now');Oracle PL/SQL
SELECT (CAST(SYS_EXTRACT_UTC(SYSTIMESTAMP) AS DATE) - TO_DATE('01/01/1970','DD/MM/YYYY')) * 24 * 60 * 60 FROM DUAL;SQL Server
SELECT DATEDIFF(s, '1970-01-01 00:00:00', GETUTCDATE())IBM Informix
SELECT dbinfo('utc_current') FROM sysmaster:sysdual;JavaScript
Math.floor(new Date().getTime()/1000.0)The getTime method returns the time in milliseconds.
Visual FoxPro
DATETIME() - {^1970/01/01 00:00:00}Warning: time zones not handled correctly
Go
time.Now().Unix()More Go
Adobe ColdFusion
<cfset epochTime = left(getTickcount(), 10)>Tcl/Tk
clock secondsUnix/Linux Shell
date +%sSolaris
/usr/bin/nawk 'BEGIN {print srand()}'Solaris doesn't support date +%s, but the default seed value for nawk's random-number generator is the number of seconds since the epoch.
PowerShell
[int][double]::Parse((Get-Date (get-date).touniversaltime() -UFormat %s))Other OS's
perl -e "print time"(If Perl is installed on your system)
Convert from human-readable date to epoch
PHP
strtotime("15 November 2018")(converts most English date texts) or: date_create('11/15/2018')->format('U') (using DateTime class) More PHP
Python
import calendar, time; calendar.timegm(time.strptime('2000-01-01 12:34:00', '%Y-%m-%d %H:%M:%S'))Ruby
Time.local(year, month, day, hour, minute, second, usec )(or Time.gm for GMT/UTC input). To display add .to_i
Perl
Use the Perl Epoch routinesJava
long epoch = new java.text.SimpleDateFormat("MM/dd/yyyy HH:mm:ss").parse("01/01/1970 01:00:00").getTime() / 1000;Timestamp in seconds, remove '/1000' for milliseconds.
VBScript/ASP
DateDiff("s", "01/01/1970 00:00:00", time field)More ASP
AutoIT
_DateDiff('s', "1970/01/01 00:00:00", "YYYY/MM/DD HH:MM:SS")Delphi
Epoch := DateTimeToUnix(StrToDateTime(myString));C
Use the C Epoch Converter routinesR
as.numeric(as.POSIXct("YYYY-MM-dd HH:mm:ss", tz = "GMT", origin="1970-01-01"))The origin parameter is optional
Go
Example codeSee Go documentation
Rust
SystemTime::now().duration_since(SystemTime::UNIX_EPOCH)SystemTime documentation
Adobe ColdFusion
int(parseDateTime(datetime).getTime()/1000);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 '2018-02-16 20:38:40-08'); With interval: SELECT EXTRACT(EPOCH FROM INTERVAL '5 days 3 hours');
SQLite
SELECT strftime('%s',timestring);SQL Server
SELECT DATEDIFF(s, '1970-01-01 00:00:00', time field)JavaScript
Use the JavaScript Date objectUnix/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
PHP
date(output format, epoch);Output format example: 'r' = RFC 2822 date, more PHP examples
Python
import time; time.strftime("%a, %d %b %Y %H:%M:%S +0000", time.localtime(epoch))Replace time.localtime with time.gmtime for GMT time. Or using datetime: import datetime; datetime.datetime.utcfromtimestamp(epoch).replace(tzinfo=datetime.timezone.utc)
Ruby
Time.at(epoch)C#
private string epoch2string(int epoch) {
return new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc).AddSeconds(epoch).ToShortDateString();
}Perl
Use the Perl Epoch routinesJava
String date = new java.text.SimpleDateFormat("MM/dd/yyyy HH:mm:ss").format(new java.util.Date (epoch*1000));Epoch in seconds, remove '*1000' for milliseconds.
Lua
datestring = os.date([format[,epoch]])VBScript/ASP
DateAdd("s", epoch, "01/01/1970 00:00:00")More ASP
AutoIT
_DateAdd("s", $EpochSeconds , "1970/01/01 00:00:00")Dart
DateTime.fromMicrosecondsSinceEpoch(epoch)Delphi
myString := DateTimeToStr(UnixToDateTime(Epoch));Where Epoch is a signed integer.
C
Use the C Epoch Converter routinesObjective-C
NSDate * myDate = [NSDate dateWithTimeIntervalSince1970:epoch]; NSLog(@"%@", date);R
as.POSIXct(epoch, origin="1970-01-01", tz="GMT")Go
Example codeSee Go documentation
Adobe ColdFusion
DateAdd("s",epoch,"1/1/1970");MySQL
FROM_UNIXTIME(epoch, optional output format)Default output format is YYY-MM-DD HH:MM:SS. If you need support for negative timestamps: DATE_FORMAT(DATE_ADD(FROM_UNIXTIME(0), interval -315619200 second),"%Y-%m-%d") (replace -315619200 with epoch) More MySQL
PostgreSQL
SELECT to_timestamp(epoch);PostgreSQL version 8.1 and higher: Source Older versions: SELECT TIMESTAMP WITH TIME ZONE 'epoch' + epoch * INTERVAL '1 second';
SQLite
SELECT datetime(epoch_to_convert, 'unixepoch');or local timezone: SELECT datetime(epoch_to_convert, 'unixepoch', 'localtime');
Oracle PL/SQL
SELECT to_date('01-JAN-1970','dd-mon-yyyy')+(1526357743/60/60/24) from dualReplace 1526357743 with epoch.
SQL Server
DATEADD(s, epoch, '1970-01-01 00:00:00')IBM Informix
SELECT dbinfo('utc_to_datetime',epoch) FROM sysmaster:sysdual;Microsoft Excel / LibreOffice Calc
=(A1 / 86400) + 25569Format 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 objectTcl/Tk
clock format 1325376000Documentation
MATLAB
datestr(719529+TimeInSeconds/86400,'dd-mmm-yyyy HH:MM:SS')IBM PureData System for Analytics
select 996673954::int4::abstime::timestamp;Unix/Linux Shell
date -d @1520000000Replace 1520000000 with your epoch, needs recent version of 'date'. Replace '-d' with '-ud' for GMT/UTC time.
Mac OS X
date -j -r 1520000000PowerShell
Function get-epochDate ($epochDate) { [timezone]::CurrentTimeZone.ToLocalTime(([datetime]'1/1/1970').AddSeconds($epochDate)) }, then use: get-epochDate 1520000000.Works for Windows PowerShell v1 and v2
Other OS's
perl -e "print scalar(localtime(epoch))"(If Perl is installed) Replace 'localtime' with 'gmtime' for GMT/UTC time.
Need More Help?
Browse our language-specific guides for more detailed examples and best practices: