nsdate 時間戳 時間間隔
nsdate 使用 ios時間的秒數
取當前時間的秒數
nstimeinterval time = [[nsdate date] timeintervalsince1970];
long long int date = (long long int)time;
nslog(@」date\n%d」, date); //1295322949
//把秒數轉化成yyyy-mm-dd hh:mm:ss格式
nsdate *dd = [nsdate datewithtimeintervalsince1970:date];
nslog(@」d:%@」,dd); //2011-01-18 03:55:49 +0000
//給乙個時間秒數,取出對應的時間
nsstring *s = @」1295355600000″; //對應21:00
nsdate *d = [nsdate datewithtimeintervalsince1970:[s doublevalue]/1000];
nslog(@」dddd:%@」,d); //2011-01-18 13:00:00 +0000
nsdateformatter *formatter1 = [[nsdateformatter alloc] init];
[formatter1 setdateformat:@"hh:mm"];
nsstring *showtimenew = [formatter1 stringfromdate:d];
nslog(@」showtimenew:%@」,showtimenew); //21:00 比d的時間 +8小時
[formatter1 release];
1. 建立或初始化可用以下方法
用於建立nsdate例項的類方法有
+ (id)date;
返回當前時間
+ (id)datewithtimeintervalsincenow:(nstimeinterval)secs;
返回以當前時間為基準,然後過了secs秒的時間
+ (id)datewithtimeintervalsincereferencedate:(nstimeinterval)secs;
返回以2001/01/01 gmt為基準,然後過了secs秒的時間
+ (id)datewithtimeintervalsince1970:(nstimeinterval)secs;
返回以1970/01/01 gmt為基準,然後過了secs秒的時間
+ (id)distantfuture;
返回很多年以後的未來的某一天。(比如你需要乙個比現在(now)晚(大)很長時間的時間值,則可以呼叫該方法。測試返回了4000/12/31 16:00:00)
+ (id)distantpast;
返回很多年以前的某一天。(比如你需要乙個比現在(now)早(小)大很長時間的時間值,則可以呼叫該方法。測試返回了西元前0001/12/31 17:00:00)
用於建立nsdate例項的例項方法有
- (id)addtimeinterval:(nstimeinterval)secs;
返回以目前的例項中儲存的時間為基準,然後過了secs秒的時間
用於初始化nsdate例項的例項方法有
- (id)init;
初始化為當前時間。類似date方法
初始化為以2001/01/01 gmt為基準,然後過了secs秒的時間。類似datewithtimeintervalsincereferencedate:方法
- (id)initwithtimeinterval:(nstimeinterval)secs sincedate:(nsdate *)refdate;
初始化為以refdate為基準,然後過了secs秒的時間
- (id)initwithtimeintervalsincenow:(nstimeinterval)secs;
初始化為以當前時間為基準,然後過了secs秒的時間
2. 日期之間比較可用以下方法
- (bool)isequaltodate:(nsdate *)otherdate;
與otherdate比較,相同返回yes
- (nsdate *)earlierdate:(nsdate *)anotherdate;
與anotherdate比較,返回較早的那個日期
- (nsdate *)laterdate:(nsdate *)anotherdate;
與anotherdate比較,返回較晚的那個日期
- (nscomparisonresult)compare:(nsdate *)other;
該方法用於排序時呼叫:
. 當例項儲存的日期值與anotherdate相同時返回nsorderedsame
. 當例項儲存的日期值晚於anotherdate時返回nsordereddescending
. 當例項儲存的日期值早於anotherdate時返回nsorderedascending
3. 取回時間間隔可用以下方法
- (nstimeinterval)timeintervalsincedate:(nsdate *)refdate;
以refdate為基準時間,返回例項儲存的時間與refdate的時間間隔
- (nstimeinterval)timeintervalsincenow;
以當前時間(now)為基準時間,返回例項儲存的時間與當前時間(now)的時間間隔
- (nstimeinterval)timeintervalsince1970;
以1970/01/01 gmt為基準時間,返回例項儲存的時間與1970/01/01 gmt的時間間隔
- (nstimeinterval)timeintervalsincereferencedate;
以2001/01/01 gmt為基準時間,返回例項儲存的時間與2001/01/01 gmt的時間間隔
+ (nstimeinterval)timeintervalsincereferencedate;
以2001/01/01 gmt為基準時間,返回當前時間(now)與2001/01/01 gmt的時間間隔
4. 將時間表示成字串
- (nsstring *)description;
以yyyy-mm-dd hh:mm:ss ±hhmm的格式表示時間。(其中 「±hhmm」 表示與gmt的存在多少小時多少分鐘的時區差異。比如,若時區設定在北京,則 「±hhmm」 顯示為 「+0800″)
時間戳 時間
由於團隊業務做的是國際專案,就無法避免乙個問題 時區問題,很多業務都是跟時間有關。一些時間的對比,時間的展示,都會涉及到時區和時間戳,所以花點時間來簡單總結一下 時間戳定義 0時區1970年1月1日到現在的毫秒數,所以全世界同一時刻的時間戳都是一樣的。北京時間對應時間戳 unix 0時區對應時間的時...
JS17 時間功能 時間與時間戳
一 獲取時間戳 new date gettime es5獲取當前時間戳,13位毫秒 new date valueof date.now es6獲取當前時間戳 二 功能 時間戳轉日期格式 1.時間戳轉日期格式 如 10或13位 2020 2 21 10 20 30 tostrtime ntimesta...
js獲取時間戳 時間戳轉時間
1 var timestamp date.parse new date 精準到秒2 var timestamp new date valueof 精準到毫秒3.var timestamp new date gettime 精準到毫秒1 var a new date tolocaledatestrin...