时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数
时间转秒 | 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 |
GET the current time in each language | |
PHP | time() |
Python | import time; time.time() |
Ruby | Time.now (or Time.new ). To display the epoch: Time.now.to_i |
Perl | time |
Java | long 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++11 |
double now = std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::system_clock::now().time_since_epoch()).count();
|
VBScript/ASP | DateDiff("s", "01/01/1970 00:00:00", Now()) |
AutoIT | _DateDiff('s', "1970/01/01 00:00:00", _NowCalc()) |
Delphi | Epoch := DateTimetoUnix(Now); Tested in Delphi 2010. |
R | 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()) |
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.round(new Date().getTime()/1000.0) getTime() returns time in milliseconds. |
Visual FoxPro | DATETIME() - {^1970/01/01 00:00:00} Warning: time zones not handled correctly |
Go | time.Now().Unix() |
Adobe ColdFusion | <cfset epochTime = left(getTickcount(), 10)> |
Tcl/Tk | clock seconds |
Unix/Linux Shell | date +%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) |
Dates in each language are converted into timestamps | |
PHP | date(output format, epoch); Output format example: 'r' = RFC 2822 date |
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) { |
Perl | Use the |
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") |
AutoIT | _DateAdd("s", $EpochSeconds , "1970/01/01 00:00:00") |
Delphi | myString := DateTimeToStr(UnixToDateTime(Epoch)); Where Epoch is a signed integer. |
Objective-C | NSDate * myDate = [NSDate dateWithTimeIntervalSince1970:epoch]; NSLog(@"%@", date);
|
R | as.POSIXct(epoch, origin="1970-01-01", tz="GMT") |
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)
|
PostgreSQL | PostgreSQL version 8.1 and higher: SELECT to_timestamp(epoch); 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 dual Replace 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) + 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. |
JavaScript | |
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 @1520000000 Replace 1520000000 with your epoch, needs recent version of 'date'.
Replace '-d' with '-ud' for GMT/UTC time. |
Mac OS X | date -j -r 1520000000 |
PowerShell | 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 | Command line: perl -e "print scalar(localtime(epoch))" (If Perl is installed) Replace
'localtime' with 'gmtime' for GMT/UTC time. |
Timestamps are converted into dates in each language | |
PHP | date(output format, epoch); Output format example: 'r' = RFC 2822 date |
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) {
|
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") |
AutoIT | _DateAdd("s", $EpochSeconds , "1970/01/01 00:00:00") |
Delphi | myString := DateTimeToStr(UnixToDateTime(Epoch)); Where Epoch is a signed integer. |
Objective-C | NSDate * myDate = [NSDate dateWithTimeIntervalSince1970:epoch]; NSLog(@"%@", date);
|
R | as.POSIXct(epoch, origin="1970-01-01", tz="GMT") |
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)
|
PostgreSQL | PostgreSQL version 8.1 and higher: SELECT to_timestamp(epoch); 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 dual Replace 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) + 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. |
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 @1520000000 Replace 1520000000 with your epoch, needs recent version of 'date'.
Replace '-d' with '-ud' for GMT/UTC time. |
Mac OS X | date -j -r 1520000000 |
PowerShell | 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 | Command line: perl -e "print scalar(localtime(epoch))" (If Perl is installed) Replace
'localtime' with 'gmtime' for GMT/UTC time. |