真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

ios開發(fā)獲取時間戳,iOS時間戳

iOS時間戳雜談

在iOS中我們經(jīng)常需要使用到時間戳,但在iOS下獲取“時間”的方法有很多。不過總的來說,我們可以在iOS中獲取的時間戳主要有兩類----絕對時間與相對時間。下面將總結(jié)一下這些方法之間的關(guān)系。

十多年的廣德網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應快,48小時及時工作處理。營銷型網(wǎng)站的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整廣德建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)從事“廣德網(wǎng)站設(shè)計”,“廣德網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。

絕對時間是指那些以固定時間為參考系的時間戳。

常用的有Foundation框架中的

[[NSDate date] timeIntervalSinceReferenceDate];

以及CoreFoundation框架中的

CFAbsoluteTimeGetCurrent();

上述兩種方法是等價的,所參考的起始時間都是世界時間(UTC)2001年1月1日凌晨,所返回的double類型的結(jié)果都是從參考時間至今經(jīng)過的秒數(shù)。

除了剛才提到的參考時間,還有以世界時間(UTC)1970年1月1日凌晨為參考系的

[[NSDate date] timeIntervalSince1970];

由于參考系是固定的,顯然每次通過這些方法獲取的時間戳都將是不同的。但絕對不變的參考系并不意味著絕對可靠的結(jié)果,實際上當用戶手動改變了設(shè)備上的系統(tǒng)時間后,基于系統(tǒng)時鐘的上述方法返回的結(jié)果也會一同改變。

假如我們想獲取一種不會被用戶手動修改而影響的時間戳,該怎么辦?答案是相對時間。

相對時間是指以非固定時間為參考系返回的時間戳

常用的有Foundation框架中的

[[NSProcessInfo processInfo] systemUptime];

和QuartzCore框架中的

CACurrentMediaTime();

上面兩種方法獲取到的都是設(shè)備自最近一次啟動至今經(jīng)過的時間戳。 CFAbsoluteTimeGetCurrent() 方法調(diào)用底層的 mach_absolute_time() 方法后將結(jié)果轉(zhuǎn)換成秒返回。該結(jié)果是設(shè)備自最近一次啟動至今經(jīng)過的時間,不隨系統(tǒng)時間改變而改變,但當設(shè)備重啟后,該方法返回的結(jié)果也會重置。

兩類時間戳都有各自的特點:

絕對時間參考固定的時間點返回時間戳但結(jié)果會受系統(tǒng)時鐘的影響;

相對時間在設(shè)備不重啟的情況下總能正確返回某一時間段內(nèi)流逝的時間;

所以具體要使用哪種方法獲取時間戳需要結(jié)合不同的需求場景去選擇。

獲取到了時間戳,也許我們需要利用它來轉(zhuǎn)換為時間并以一定的格式去展示,NSDate轉(zhuǎn)NSString的方法網(wǎng)上有很多,在這里就不再敘述。需要注意的一點是,獲取到絕對時間戳是以世界時間(UTC)為準的,NSDate中保存的日期也是以世界時間(UTC)為準的,所以在通過NSDateFormatter轉(zhuǎn)換為NSString的時候一定要注意當前的時區(qū)。

如果App本身對獲取的時間精度要求很高,還是直接通過網(wǎng)絡(luò)從服務(wù)器獲取時間戳會比較保險。當網(wǎng)絡(luò)可用時,直接從服務(wù)器獲取;網(wǎng)絡(luò)不可用時,且設(shè)備沒有被重啟過,可以根據(jù)上一次獲取服務(wù)器時間戳的時刻到此時的時間差來推算出正確的時間。

all-in-the-timing-keeping-track-of-time-passed-on-ios

iOS 時間以及時間戳的各種方法

1.時間string轉(zhuǎn)時間戳

2.時間戳轉(zhuǎn)換成時間(HH:mm)

3.時間string轉(zhuǎn)date

4.date轉(zhuǎn)時間string

5.獲取當前的時間string

6.獲取當前的時間戳

7.根據(jù)生日獲取年齡 格式2020/08/13

8.判斷是否是24小時之內(nèi) 結(jié)合上面方法6獲取當前時間戳

9.將時間戳轉(zhuǎn)換成特定的形式 幾小時前 幾分鐘前

10.獲取當前的時間(年月日)

11.獲取當前的時間(日)

iOS開發(fā)獲取當前的UTC時間戳

///獲取UTC時間戳

+(NSString *)getNowUTCTimeTimestamp{

NSDate *datenow = [NSDate date];

NSTimeZone *zone = [NSTimeZone localTimeZone];

// 獲取指定時間所在時區(qū)與UTC時區(qū)的間隔秒數(shù)

NSInteger seconds = [zone secondsFromGMTForDate:[NSDate date]];

NSString *timeSp = [NSString stringWithFormat:@"%ld", (long)[datenow timeIntervalSince1970] - seconds];

return timeSp;

}


網(wǎng)站題目:ios開發(fā)獲取時間戳,iOS時間戳
文章位置:http://weahome.cn/article/dscsdjs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部