IOS中級篇 —— 日期時間對象

來源:互聯網
上載者:User

標籤:

結合NSCalendar和NSDate能做更多的日期\時間處理 獲得NSCalendar對象

NSCalendar *calendar = [NSCalendar currentCalendar];?獲得年月日

- (NSDateComponents *)components:(NSCalendarUnit)unitFlags fromDate:(NSDate *)date;

//建立日期
NSDate?*d = [NSDate?date];

//建立日期對象
NSCalendar?*ca = [NSCalendar?currentCalendar];

//獲得時間組件

NSDateComponents?*cms= [ca?components:NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitDay fromDate:d];

NSLog(@"%ld-%ld-%ld",cms.year,cms.month,cms.day);

比較兩個日期的差距
- (NSDateComponents *)components:(NSCalendarUnit)unitFlags fromDate:(NSDate *) startingDate toDate:(NSDate *)resultDate options:(NSCalendarOptions)opts;

NSString *time1 [email protected]"2014-04-08 20:50:40"; NSString *time2 [email protected]"2014-04-04 18:45:30";

NSDateFormatter *fmt = [[NSDateFormatter alloc] init]; fmt.dateFormat [email protected]"yyyy-MM-dd HH:mm:ss";


NSDate *date1 = [fmt dateFromString:time1]; NSDate *date2 = [fmt dateFromString:time2];
?//取時間較早的那個? ?? [date2?earlierDate:date1];? ? ? ??//取較晚的那個? ?? [date2?laterDate:date1];
//把字串轉換成日期
? ? ? ? //和上邊類似,仍然需要日期格式化對象,但是調用的方法從stringFromDate變成
? ? ? ? //因為時區設定的問題,這個日期被減去了一天
? ? ? ? NSDateFormatter?*format2=[[NSDateFormatter?alloc]init];
? ? ? ? [format2?setDateFormat:@"yyyy/MM/dd"];
? ? ? ? NSString?*[email protected]"2014/10/11";
? ? ? ? NSLog(@"%@",[format2?dateFromString:str2]);

// 1.建立一個日曆對象
NSCalendar?*calendar = [NSCalendar?currentCalendar];

// 2.比較時間的差距
int?unit =?NSCalendarUnitYear?|?NSCalendarUnitMonth?|?NSCalendarUnitDay
|?NSCalendarUnitHour?|?NSCalendarUnitMinute?|?NSCalendarUnitSecond;?

NSDateComponents?*cmps = [calendar?components:unit?fromDate:date2?toDate:date1?options:0];


NSLog(@"相差%ld年%ld月%ld天%ld小時%ld分鐘%ld秒", cmps.year, cmps.month, cmps.day, cmps.hour, cmps.minute, cmps.second);
計算日期//1)明天的此刻NSTimeInterval secondsPerDay = 24*60*60;
NSDate *tomorrow = [NSDate dateWithTimeIntervalSinceNow:secondsPerDay]; NSLog(@"myDate = %@",tomorrow);

//2)昨天的現在
NSTimeInterval secondsPerDay1 = 24*60*60;

NSDate *now = [NSDate date];NSDate *yesterDay = [now addTimeInterval:-secondsPerDay1]; NSLog(@"yesterDay = %@",yesterDay);

格式化日期

NSDate ----> dateString 

//定義NSDate
NSDate?*d1 = [NSDate?date];

//定義日期時間格式化的類
NSDateFormatter?*formatter = [[NSDateFormatter?alloc]?init]; [email protected]"yyyy-MM-dd HH:mm:ss";

//把Date轉換為dataStr
NSString?*dateStr = [formatter?stringFromDate:d1];

  • //??設定格式

  • //??fmt.dateFormat = @"今天?HH:mm";

  • //??HH : 24小時制

  • //??hh : 12小時制

  • //??yyyy :?年

  • //??MM :?月

  • //??dd :?號

  • //??mm :?分鐘

  • //??ss :?秒

  • //??Z :?時區

IOS中級篇 —— 日期時間對象

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.