时间戳是指格林威治时间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 |
各个语言获取当前时间 | |
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)
|
各个语言日期转化成时间戳 | |
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.
|
各个语言时间戳转化成日期 | |
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.
|