NSDate及日期相關

項目中有一些與時間日期有關的處理,整理一下,不正確之處還望指正.


1.當前時間:

一般情況下,當前時間都是用

NSDate *date = [NSDate date];

用這個取年月日時沒有問題的,但是有時候因為時區(qū)的影響,可能得到的時分秒不是特別準確,所以需要取到當前時區(qū)(地區(qū))的時間:

NSDate *date = [NSDate date];

NSTimeZone *zone = [NSTimeZone systemTimeZone]; // 當前時區(qū)

NSInteger interval = [zone secondsFromGMTForDate: date]; // 與標準時間時差

NSDate *localDate = [date? dateByAddingTimeInterval: interval]; // 當前時區(qū)當前時間

NSDateFormatter *dateFormatter =[[NSDateFormatter alloc] init];

[dateFormatter setDateFormat:@"yyyy-MM-dd HH-mm-ss"];

NSString *nowDate = [dateFormatter stringFromDate:localDate];

這樣就得到了準確的當前時間



2.星期幾的問題:

先寫一個星期數(shù)組,注意星期日在最前面.

以下的當前時間還是用 [NSDate date],也可以先為轉化上面的;

NSArray * arrWeek=[NSArray arrayWithObjects:@"星期日",@"星期一",@"星期二",@"星期三",@"星期四",@"星期五",@"星期六", nil];

NSDate *date = [NSDate date];? // 當前時間

NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian]; // 日歷,歷法

NSDateComponents *comps = [[NSDateComponents alloc] init]; // 時間段,時間點

NSInteger unitFlags = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitWeekday | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond; // 需要得到的時間點(時間段)的時間單位

comps = [calendar components:unitFlags fromDate:date];

// 得到當前時間點的年月日星期幾的信息 int類型 或者interger類型

int week = (int)[comps weekday];

int year=(int)[comps year];

int month = (int)[comps month];

int day = (int)[comps day];



3.時間差:

以求現(xiàn)在距離未來某一個時間點之間的時間差為例,得到的也是一個NSDateComponents時間點,

NSDateFormatter *dateFomatter = [[NSDateFormatter alloc] init]; // 日期格式

dateFomatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";

NSDate *date = [NSDate date]; // 當前時間

NSTimeZone *zone = [NSTimeZone systemTimeZone];

NSInteger interval = [zone secondsFromGMTForDate:date];

NSDate *localDate = [date dateByAddingTimeInterval:interval]; // 當前時區(qū)當前時間

NSString *futureTime = @"2020-11-23 13:35:45"; // 未來的某一個時間

NSString *nowDateStr = [dateFomatter stringFromDate:localDate];

NSDate *futureDate = [dateFomatter dateFromString:openDateStr]; // 未來時間date

localDate = [dateFomatter dateFromString:nowDateStr]; // 同一時間格式(dateFormat)下的當前時間

// 當前日歷

NSCalendar *calendar = [NSCalendar currentCalendar];

// 需要對比的時間數(shù)據(jù)(年月日時分秒)

NSCalendarUnit unit = NSCalendarUnitYear | NSCalendarUnitMonth

| NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond;

// 對比時間差

NSDateComponents *dateComponent = [calendar components:unit fromDate:localDate toDate:futureDate options:0];

// 顯示時間差

NSString *text = [NSString stringWithFormat:@"%ld年%ld月%ld天%ld時%ld分",dateComponent.year,dateComponent.month,dateComponent.day,dateComponent.hour,dateComponent.minute];

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市篡九,隨后出現(xiàn)的幾起案子尝艘,更是在濱河造成了極大的恐慌,老刑警劉巖匠楚,帶你破解...
    沈念sama閱讀 211,639評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡驰弄,警方通過查閱死者的電腦和手機遮糖,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評論 3 385
  • 文/潘曉璐 我一進店門绣的,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人欲账,你說我怎么就攤上這事屡江。” “怎么了赛不?”我有些...
    開封第一講書人閱讀 157,221評論 0 348
  • 文/不壞的土叔 我叫張陵惩嘉,是天一觀的道長。 經(jīng)常有香客問我踢故,道長文黎,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,474評論 1 283
  • 正文 為了忘掉前任殿较,我火速辦了婚禮耸峭,結果婚禮上,老公的妹妹穿的比我還像新娘淋纲。我一直安慰自己劳闹,他們只是感情好,可當我...
    茶點故事閱讀 65,570評論 6 386
  • 文/花漫 我一把揭開白布洽瞬。 她就那樣靜靜地躺著玷或,像睡著了一般。 火紅的嫁衣襯著肌膚如雪片任。 梳的紋絲不亂的頭發(fā)上偏友,一...
    開封第一講書人閱讀 49,816評論 1 290
  • 那天,我揣著相機與錄音对供,去河邊找鬼位他。 笑死氛濒,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的鹅髓。 我是一名探鬼主播舞竿,決...
    沈念sama閱讀 38,957評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼窿冯!你這毒婦竟也來了骗奖?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,718評論 0 266
  • 序言:老撾萬榮一對情侶失蹤醒串,失蹤者是張志新(化名)和其女友劉穎执桌,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體芜赌,經(jīng)...
    沈念sama閱讀 44,176評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡仰挣,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,511評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了缠沈。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片膘壶。...
    茶點故事閱讀 38,646評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖洲愤,靈堂內(nèi)的尸體忽然破棺而出颓芭,到底是詐尸還是另有隱情,我是刑警寧澤柬赐,帶...
    沈念sama閱讀 34,322評論 4 330
  • 正文 年R本政府宣布畜伐,位于F島的核電站,受9級特大地震影響躺率,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜万矾,卻給世界環(huán)境...
    茶點故事閱讀 39,934評論 3 313
  • 文/蒙蒙 一悼吱、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧良狈,春花似錦后添、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至严嗜,卻和暖如春粱檀,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背漫玄。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評論 1 266
  • 我被黑心中介騙來泰國打工茄蚯, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留压彭,地道東北人。 一個月前我還...
    沈念sama閱讀 46,358評論 2 360
  • 正文 我出身青樓渗常,卻偏偏與公主長得像壮不,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子皱碘,可洞房花燭夜當晚...
    茶點故事閱讀 43,514評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 在iOS開發(fā)中询一,經(jīng)常會遇到各種各樣的時間問題,8小時時差癌椿,時間戳健蕊,求時間間隔,農(nóng)歷等等如失。解決辦法網(wǎng)上比比皆是绊诲,但大...
    真巧了_嘿閱讀 2,764評論 0 7
  • iOS開發(fā)中,經(jīng)常會遇到各種各樣的時間問題褪贵,8小時時差掂之,時間戳,求時間間隔脆丁,農(nóng)歷等等世舰。解決辦法網(wǎng)上比比皆是,但大多...
    小李龍彪閱讀 6,309評論 1 6
  • 關于被修飾過的愛情我從來沒有相信過槽卫,因為真正美好的東西跟压,都是被人發(fā)掘出來的……
    33e12d857f1a閱讀 91評論 0 0
  • 每兩個月會剪一次頭發(fā)。這是短發(fā)姑娘們的痛點--剪發(fā)頻率高歼培,還費錢震蒋。但是我個人還蠻享受每次頭發(fā)獲得新生的感覺的啊~人...
    graceyan閱讀 381評論 0 0