iOS獲取系統時間的各種方式

2021-10-17 14:35:19 字數 1647 閱讀 4687

受系統時間影響的方式

受系統時間影響,表示使用者修改裝置時間這些獲取時間方式返回的值會發生變化

1、nsdate

該函式返回的時間以utc為基準,它描述的是時間線上的某個絕對值,例如[nsdate date]表示當前時間距離utc 2023年一月一日00:00:00過了多長時間。nsdate和市區和文化無關,如果要展示具體格式的時間,需要nsdateformatternstimezone的輔助

2、cfabsolutetimegetcurrent()

該函式返回的時間以gmt為標準的,2023年一月一日00:00:00這一刻的時間絕對值

gmt時間(greenwich mean time),格林治時間,人們最開始以太陽在一天當中所處的位置來描述當前的時間。但不同地區太陽的位置不同,所以需要有乙個公共的地方,以這個地方的太陽的位置來做參考著。最後選擇的是英國倫敦的格林尼治天文台所在地,以格林尼治的時間作為公共時間,也就是我們所說的gmt時間。

utc(coordinateduniversaltime ),原子鐘50億年才會誤差1秒,這種精讀已經遠勝於gmt了,所以稱以這種原子鐘來衡量時間的變化稱為utc時間

3、gettimeofday()

獲取當前的unix time值,表示當前時間距離utc 2023年1月1號00:00:00過了多少秒 ,(unix time是以utc 2023年1月1號00:00:00為基準時間),受系統時間影響,系統時間改變,該值也會變

struct timeval now;

struct timezone tz;

gettimeofday(&now, &tz);

4、sysctl

利用sysctl來獲取系統核心返回的裝置重啟之後執行的時間,受系統時間影響,系統時間改變,該值也會變

#include - (long)boottime

return 0;

}

受裝置重啟影響的方式

使用者修改裝置時間這些獲取時間方式返回的值不會發生變化,但是裝置重啟和休眠會影響

1、mach_absolute_time()

表示 cpu 的時鐘週期數(ticks),一般很少用,單位是uint64_t,但經過轉換其精確度可以達到納秒(ns),它不受系統時間影響,只受裝置重啟和休眠行為影響,重啟手機mach_absolute_time()函式會重新計數。

2、cacurrentmediatime()

屬於quartzcore,其單位是cftimeinterval,是對mach_absolute_time()的封裝,並且轉化為不受系統時間影響,只受裝置重啟和休眠行為影響,重啟手機重新計數。

#####3、nsprocessinfo

nstimeinterval systemuptime = [[nsprocessinfo processinfo] systemuptime];

java獲取路徑的各種方式

利用system.getproperty 函式獲取當前路徑 system.out.println system.getproperty user.dir 指定了當前的路徑使用file提供的函式獲取當前路徑 file directory newfile 設定為當前資料夾 trycatch except...

Numpy 拼接陣列的各種方式

總結 import numpy as np a np.array 1,2,3 b np.array 5,6,7 拼接乙個陣列和數值 array 1,2,3,4 拼接兩個陣列 array 1,2,3,5,6,7 拼接列表成為陣列 array 1,2,3,4,5,6,7,8,9 不同座標軸方向的拼接 a...

五五 js中遍歷的各種方式

var arr 1,2,3,4 for迴圈 for var i 0 i arr.length i es5 arr.foreach function value 缺點 你不能使用break語句中斷迴圈,也不能使用return語句返回到外層函式。3 for in迴圈 for var index in a...