Epoch & Unix Timestamp Conversion Tools


The current Unix epoch time is 


Convert epoch to human readable date and vice versa

 [batch convert timestamps to human dates]
MonDayYr preferences
 /   /   
 :  :   



 [batch convert]
Input format: RFC 2822, D-M-Y, M/D/Y, Y-M-D, etc.
Strip 'GMT' to convert to local time, no support for other time zones.

Press c or click here to clear all forms.

Epoch dates for the start and end of the year/month/day

Show start & end of

MonDayYr preferences
 /   /       
 [Epoch List By Month & Year]


Convert seconds to days, hours and minutes



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).
The converter on this page converts timestamps in seconds, milliseconds and microseconds to readable dates.

Human readable time Seconds
1 hour3600 seconds
1 day86400 seconds
1 week604800 seconds
1 month (30.44 days) 2629743 seconds
1 year (365.24 days)  31556926 seconds

How to get the current epoch time in ...

PHPtime() more ...
Pythonimport time; time.time()
RubyTime.now (or Time.new). To display the epoch: Time.now.to_i
Perltime more ...
Javalong epoch = System.currentTimeMillis()/1000;
C#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++11double now = std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::system_clock::now().time_since_epoch()).count();
VBScript/ASPDateDiff("s", "01/01/1970 00:00:00", Now())
AutoIT_DateDiff('s', "1970/01/01 00:00:00", _NowCalc())
DelphiEpoch := DateTimetoUnix(Now); Tested in Delphi 2010.
Erlang/OTPerlang:system_time(seconds). (version 18+), older versions: calendar:datetime_to_gregorian_seconds(calendar:universal_time())-719528*24*3600.
MySQLSELECT unix_timestamp(now()) more ...
PostgreSQLSELECT extract(epoch FROM now());
SQLiteSELECT strftime('%s', 'now');
Oracle PL/SQLSELECT (SYSDATE - TO_DATE('01/01/1970 00:00:00', 'MM-DD-YYYY HH24:MI:SS')) *
24 * 60 * 60 FROM DUAL
SQL ServerSELECT DATEDIFF(s, '1970-01-01 00:00:00', GETUTCDATE())
IBM InformixSELECT dbinfo('utc_current') FROM sysmaster:sysdual;
JavaScriptMath.round(new Date().getTime()/1000.0) getTime() returns time in milliseconds.
Visual FoxProDATETIME() - {^1970/01/01 00:00:00} Warning: time zones not handled correctly
Adobe ColdFusion<cfset epochTime = left(getTickcount(), 10)>
Gotime.Now().Unix() more ...
Tcl/Tkclock seconds
Unix/Linux Shelldate +%s
PowerShell[int][double]::Parse((Get-Date (get-date).touniversaltime() -UFormat %s))
Other OS's Command line: perl -e "print time" (If Perl is installed on your system)

Convert from human readable date to epoch

PHPstrtotime("15 November 2012") (converts most English date texts) or:
date_create('01/15/2010')->format('U') (PHP5 DateTime class) more ...
Pythonimport time; int(time.mktime(time.strptime('2000-01-01 12:34:00', '%Y-%m-%d %H:%M:%S'))) - time.timezone
RubyTime.local(year, month, day, hour, minute, second, usec ) (or Time.gm for GMT/UTC input). To display add .to_i
PerlUse the Perl Epoch routines
Javalong epoch = new java.text.SimpleDateFormat("MM/dd/yyyy HH:mm:ss").parse("01/01/1970 01:00:00").getTime() / 1000;
VBScript/ASPDateDiff("s", "01/01/1970 00:00:00", time field) More info
AutoIT_DateDiff('s', "1970/01/01 00:00:00", "YYYY/MM/DD HH:MM:SS")
DelphiEpoch := DateTimeToUnix(StrToDateTime(myString));
CUse the C Epoch Converter routines
Ras.numeric(as.POSIXct("MM/dd/yyyy HH:mm:ss", origin="1970-01-01"))
GoUse the example code
MySQLSELECT unix_timestamp(time) Time format: YYYY-MM-DD HH:MM:SS or YYMMDD or YYYYMMDD
More on using Epoch timestamps with MySQL
PostgreSQLSELECT 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');
SQLiteSELECT strftime('%s',timestring);
SQL Server SELECT DATEDIFF(s, '1970-01-01 00:00:00', time field)
JavaScriptUse the JavaScript Date object
Unix/Linux Shelldate +%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

PHPdate(output format, epoch); Output format example: 'r' = RFC 2822 date more ...
Pythonimport time; time.strftime("%a, %d %b %Y %H:%M:%S +0000", time.localtime(epoch)) Replace time.localtime with time.gmtime for GMT time.
C#private string epoch2string(int epoch) {
return new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc).AddSeconds(epoch).ToShortDateString(); }
PerlUse the Perl Epoch routines
JavaString date = new java.text.SimpleDateFormat("MM/dd/yyyy HH:mm:ss").format(new java.util.Date (epoch*1000));
VBScript/ASPDateAdd("s", epoch, "01/01/1970 00:00:00") More info
AutoIT_DateAdd("s", $EpochSeconds , "1970/01/01 00:00:00")
DelphimyString := DateTimeToStr(UnixToDateTime(Epoch)); Where Epoch is a signed integer.
CUse the C Epoch Converter routines
Objective-CNSDate * myDate = [NSDate dateWithTimeIntervalSince1970:epoch]; NSLog(@"%@", date);
Ras.POSIXct(epoch, origin="1970-01-01", tz="GMT")
Goexample code
MySQLFROM_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 ...
PostgreSQLPostgreSQL version 8.1 and higher: SELECT to_timestamp(epoch); More info Older versions: SELECT TIMESTAMP WITH TIME ZONE 'epoch' + epoch * INTERVAL '1 second';
SQLiteSELECT datetime(epoch_to_convert, 'unixepoch'); or local timezone: SELECT datetime(epoch_to_convert, 'unixepoch', 'localtime');
Oracle PL/SQLSELECT 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')
IBM InformixSELECT dbinfo('utc_to_datetime',epoch) FROM sysmaster:sysdual;
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.
JavaScriptUse the JavaScript Date object
Tcl/Tkclock format 1325376000 More info
MATLABdatestr(719529+TimeInSeconds/86400,'dd-mmm-yyyy HH:MM:SS')
IBM PureData System for Analyticsselect 996673954::int4::abstime::timestamp;
Unix/Linux Shelldate -d @1190000000 Replace 1190000000 with your epoch, needs recent version of 'date'. Replace '-d' with '-ud' for GMT/UTC time.
Mac OS Xdate -j -r 1190000000
PowerShellFunction 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'sCommand line: perl -e "print scalar(localtime(epoch))" (If Perl is installed) Replace 'localtime' with 'gmtime' for GMT/UTC time.

Thanks to everyone who sent me corrections and updates!

More date related: What's the current week number? - What's the current day number?

Please note: All tools on this page are based on the time settings of your computer and use JavaScript to convert times. JavaScript uses the current DST (Daylight Saving Time) rules for all dates in history. JavaScript does not support leap seconds.


Date and Time
Week numbers
Weeks by year
Day numbers
Days by year
Years/leap years
Calculate difference
   between two dates

Comments & questions
Este sitio en Español
Related cookbooks
Charset Tools

Follow us