전체 페이지뷰

2016년 1월 21일 목요일

unix time stamp Unix Epoch


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.

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)).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.
Ras.numeric(Sys.time())
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'sCommand 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(yearmonthdayhourminutesecondusec ) (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 ServerSELECT 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 formatepoch); 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.
RubyTime.at(epoch)
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(epochoptional 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 ServerDATEADD(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 ReportsDateAdd("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.
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!

http://momentjs.com/docs/


Unix Offset (milliseconds) 1.0.0+

edit
moment(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+

edit
moment.unix(Number)
To create a moment from a Unix timestamp (seconds since the Unix Epoch), usemoment.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);

댓글 없음:

댓글 쓰기