iOS 時間相關(18 10 13更)

2022-08-09 08:12:10 字數 1527 閱讀 8835

1、日曆(nscalendar)

2、時間格式()

3、時間戳

附錄:1、定時器

1、日曆(nscalendar)

1、想要獲取 世紀、年、月、日、時、分、秒、星期 等資訊,需要加入對應的列舉。

nscalendar *calendar = [[nscalendar alloc] initwithcalendaridentifier:nscalendaridentifierchinese];

nsuinteger units = nscalendarunithour | nscalendarunitminute | nscalendarunitsecond;

nsdatecomponents *components = [calendar components:units fromdate:[nsdate date]];

2、時間格式()

3、時間戳

附錄:1、定時器

1)、使用方法

//定時1秒,重複

[nstimer scheduledtimerwithtimeinterval:1.0 target:self selector:@selector(timeraction:) userinfo:nil repeats:yes];

//定時中斷處理

-(void)timeraction:(nstimer*)timer

//定時器失效、釋放

[timer invalidate];

補充:理論上,多個任務掛載到同乙個定時器上,在定時中斷處理,判斷某任務是否需要暫停。

而不是,每個任務新增乙個定時器,然後暫定定時器來暫停任務。

2)、滾動檢視,定時器失效。解決方法:新增到runloop裡

// nsdefaultrunloopmode - 標準優先順序

// nsrunloopcommonmodes - 高優先順序

// uitrackingrunloopmode - 用於 uiscrollview 和別的控制項的動畫

timer = [nstimer scheduledtimerwithtimeinterval:1.0 repeats:yes block:^(nstimer * _nonnull timer) ];

[[nsrunloop mainrunloop] addtimer:timer formode:nsrunloopcommonmodes];

補充:nsdefaultrunloopmode ,預設模式,使用該模式還是會失效。

uitrackingrunloopmode,用這個模式跟uiscrollview相同模式,拖動可以正常計時。

nsrunloopcommonmodes,把timer同時新增到上面兩種runloop模式下(網上寫的),拖動可以正常計時。

// 獲得當前執行緒的 runloop 物件

[nsrunloop currentrunloop];

// 獲得主線程的 runloop 物件

[nsrunloop mainrunloop];

細說 IOS 時間相關

該部落格為達到細緻入微 靈活應用的目的,全部採用 示例展示,一些常見的功能的實現都包括在內。1.字串轉 date 1 從後台獲取的較為標準的時間格式的轉換方法 時間字串 nsstring string 2017 03 15 12 33 22 nsdateformatter fmt nsdatefor...

iOS開發 時間格式相關

1 系統時間 區分系統時間與網路時間 注意點是假如我們手動調整了我們裝置的系統時間,下面的就不准了。nsdateformatter fm nsdateformatter alloc init fm setdateformat yyyy mm dd hh mm ss nsstring currentd...

iOS時間相關各種技巧

一 通過自帶的日曆得到年月日 時間 以及星期nscalendar calendar nscalendar alloc initwithcalendaridentifier nsgregoriancalendar nsdate now nsdatecomponents comps nsdatecomp...