What is the unix time stamp?
The unix time stamp is a way to track time as a running total of seconds. This count starts at the Unix Epoch on January 1st, 1970 at UTC. Therefore, the unix time stamp is merely the number of seconds between a particular date and the Unix Epoch. It should also be pointed out (thanks to the comments from visitors to this site) that this point in time technically does not change no matter where you are located on the globe. This is very useful to computer systems for tracking and sorting dated information in dynamic and distributed applications both online and client side.
What happens on January 19, 2038?
On this date the Unix Time Stamp will cease to work due to a 32-bit overflow. Before this moment millions of applications will need to either adopt a new convention for time stamps or be migrated to 64-bit systems which will buy the time stamp a "bit" more time.
reference : http://www.epochconverter.com/
How to get the current epoch time in ...
PHP | time() more ... |
Python | import time; time.time() |
Ruby | Time.now (or Time.new ). To display the epoch: Time.now.to_i |
Perl | time more ... |
Java | long epoch = System.currentTimeMillis()/1000; |
C# | var epoch = (DateTime.UtcNow - new DateTime(1970, 1, 1)).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()) more ... |
PostgreSQL | SELECT extract(epoch FROM now()); |
SQLite | SELECT strftime('%s', 'now'); |
Oracle PL/SQL | SELECT (SYSDATE - TO_DATE('01/01/1970 00:00:00', 'MM-DD-YYYY HH24:MI:SS')) * |
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 |
Adobe ColdFusion | <cfset epochTime = left(getTickcount(), 10)> |
Go | time.Now().Unix() more ... |
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) |
Convert from human readable date to epoch
PHP | strtotime("15 November 2012") (converts most English date texts) or:date_create('01/15/2010')->format('U') (PHP5 DateTime class) more ... |
Python | import time; int(time.mktime(time.strptime('2000-01-01 12:34:00', '%Y-%m-%d %H:%M:%S'))) - time.timezone |
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 routines |
Java | long epoch = new java.text.SimpleDateFormat("MM/dd/yyyy HH:mm:ss").parse("01/01/1970 01:00:00").getTime() / 1000; |
VBScript/ASP | DateDiff("s", "01/01/1970 00:00:00", time field) |
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 routines |
R | as.numeric(as.POSIXct("MM/dd/yyyy HH:mm:ss", origin="1970-01-01")) |
Go | Use the example code |
MySQL | SELECT unix_timestamp(time) Time format: YYYY-MM-DD HH:MM:SS or YYMMDD or YYYYMMDDMore 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'); |
SQLite | SELECT strftime('%s',timestring); |
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
PHP | date(output format, epoch); Output format example: 'r' = RFC 2822 date more ... |
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. |
Ruby | Time.at(epoch) |
C# | private string epoch2string(int epoch) { |
Perl | Use the Perl Epoch routines |
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. |
C | Use the C Epoch Converter routines |
Objective-C | NSDate * myDate = [NSDate dateWithTimeIntervalSince1970:epoch]; NSLog(@"%@", date); |
R | as.POSIXct(epoch, origin="1970-01-01", tz="GMT") |
Go | example code |
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 ... |
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')+(1326357743/60/60/24) from dual Replace 1326357743 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 | =(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 |
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 @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. |
Thanks to everyone who sent me corrections and updates!
More date related: What's the current week number? - What's the current day number?
http://momentjs.com/docs/
Unix Offset (milliseconds) 1.0.0+
editmoment(Number);
Similar to
new Date(Number)
, you can create a moment by passing an integer value representing the number of milliseconds since the Unix Epoch (Jan 1 1970 12AM UTC).var day = moment(1318781876406);
Unix Timestamp (seconds) 1.6.0+
editmoment.unix(Number)
To create a moment from a Unix timestamp (seconds since the Unix Epoch), use
moment.unix(Number)
.var day = moment.unix(1318781876);
This is implemented as
moment(timestamp * 1000)
, so partial seconds in the input timestamp are included.var day = moment.unix(1318781876.721);
댓글 없음:
댓글 쓰기