iOS OC -date日期的類的一些關鍵用法

來源:互聯網
上載者:User
NSDate 是一個日期的類 建立一個date
 *date 擷取的時間無論是在哪個時區,都是列印相對應的零時區的時間 NSDate *date =[NSDate date ];NSLog(@"%@", date);// 結果:2015-07-23 16:04:00.431 OC07_NSDate[1430:100568] 2015-07-23 08:04:00 +0000
擷取一下當前所在的時區

NSTimeZone *zone =[NSTimeZone systemTimeZone];
NSLog(@"%@",zone);
// 結果:2015-07-23 16:03:27.180 OC07_NSDate[1422:100218] Asia/Shanghai (GMT+8) offset 28800 擷取一下和0時區相差的秒數

NSInteger seconds =[zone secondsFromGMTForDate:date];
NSLog(@"%ld", seconds);
// 結果: 2015-07-23 15:59:40.371 OC07_NSDate[1406:99223] 28800 通過相差的秒數,能擷取到現在的時間

NSDate *localDate =[NSDate dateWithTimeIntervalSinceNow:seconds];NSLog(@"%@",localDate);
NSTimeInterval:時間間隔

NSTimeInterval:對應的是double類型
NSTimeInterval計算兩個時間對象的時間間隔

NSTimeInterval interval =[tomorrowDate timeIntervalSinceDate:date];NSLog(@"%g",interval);// 結果:2015-07-23 16:21:11.947 OC07_NSDate[1489:104070] 115200
例1
計算目前時間和⼀一個固定時間的差值,如果差值在60秒內,輸出“剛 剛”,如果在60秒外3600秒內,輸出“xx分鐘前”,如果3600秒外, 3600*24秒內,輸出“xx⼩小時前”。    NSDate *date1=[NSDate dateWithTimeIntervalSinceNow:1000];NSTimeInterval time =[date1 timeIntervalSinceDate:date];NSLog(@"%ld",(NSInteger)time);if (time <60) {    NSLog(@"剛剛");}else if((time >=60)&&(time <3600)){    NSLog(@"%ld分鐘之前",(NSInteger)time/60);}else if((time >= 3600)&&(time<3600*24)){    NSLog(@"%g小時之前",time/3600);}
把日期和字串互相轉換
NSDate -> NSString    NSDate *date =[NSDate date];NSString *dateStr =[NSString stringWithFormat:@"%@",date];NSLog(@"%@", dateStr);//結果: 2015-07-23 17:13:16.597 OC07_NSDate[1730:117413] 2015-07-23 09:13:16 +0000

字串 -> NSDate
把時間又減掉8小時

NSString *timeStr =@"2015-7-23 17-18-10";NSDate *date=[formatter dateFromString:timeStr];NSLog(@"%@", date);

時間的格式
yyyy-MM-dd HH-mm-ss
H 24小時制,h 12小時制 先設定一下時間的格式,要轉換的時間要和格式相吻合

NSDateFormatter *formatter =[[NSDateFormatter alloc] init];[formatter setDateFormat:@"yyyy-MM-dd HH-mm-ss"];NSDate *date=[NSDate date];通過格式,把指定的時間直接轉換成NSString 通過這種方式,系統還會把時間切換到現在的時間NSString *strDate =[formatter stringFromDate:date];NSLog(@"%@",strDate); 結果:2015-07-23 17:16:11.551 OC07_NSDate[1747:118395] 2015-07-23 17-16-11
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.