OC關於NSDate類的方法和應用的總結!(全)

  1. <span style="font-size:18px;">//1.創建日期對象  

  2.         //創建的NSDate對象,獲得的永遠是0時區時間,如果要是求東八區時間,就加8個小時  

  3.         NSDate *date = [NSDate date];  

  4.         NSLog(@"%@",date);  

  5.           

  6.         //創建明天此時的日期(時間間隔都是以秒爲單位計算的)  

  7.         NSDate *tomorrow  = [NSDate dateWithTimeIntervalSinceNow:24*60*60];  

  8.         NSLog(@"%@",tomorrow);  

  9.           

  10.         //創建昨天此時的日期(- 表示從現在開始向前面算起)  

  11.         NSDate *yesterday = [NSDate dateWithTimeIntervalSinceNow:-24*60*60];  

  12.         NSLog(@"%@",yesterday);  

  13.           

  14.         //獲取兩個日期的時間間隔(timeInterval 是對雙精度類型的重新定義,所以輸出的時間要用%g,時間價格也是按秒來計算的)  

  15.         NSTimeInterval timeInterval = [tomorrow timeIntervalSinceDate:yesterday];  

  16.         NSLog(@"%g",timeInterval / 60 / 60 / 24);  

  17.           

  18.         //比較日期的早晚  

  19.         //(1)比較兩個日期中較早的日期(返回值類型爲NSDate)  

  20.         NSDate *earlerDate = [yesterday earlierDate:tomorrow];  

  21.         NSLog(@"%@",earlerDate);  

  22.           

  23.         //(2)比較兩個日期中較晚的日期  

  24.         NSDate *laterDate = [yesterday laterDate:tomorrow];  

  25.         NSLog(@"%@",laterDate);  

  26.           

  27.         //(3)比較兩個日期(返回值類型爲枚舉類型,是拿第一個參數來減第二個參數的值,枚舉值爲 -1,0,1)  

  28.         NSComparisonResult result = [yesterday compare:tomorrow];  

  29.         NSLog(@"%ld",result);  

  30.           

  31.         //時間間隔的練習:如果一個固定的時間到現在的時間在60秒以內,輸出"剛剛",如果在"60 - 3600"輸出"多少分鐘前",如果在"3600 - 3600*24",輸出"在多少小時前",如果在大於"3600*24"輸出多少天前  

  32.         NSDate *date1 = [NSDate date];  

  33.         NSDate *date2 = [NSDate dateWithTimeIntervalSinceNow:100];  

  34.         NSTimeInterval time = [date2 timeIntervalSinceDate:date1];  

  35.         if (time > 0 && time <= 60) {  

  36.             NSLog(@"剛剛");  

  37.         }else if (time <= 3600){  

  38.             NSLog(@"%d分鐘前",(int)(time / 60));  

  39.         }else if (time <= 33600 * 24){  

  40.             NSLog(@"%d小時前",(int)(time / 60 / 60));  

  41.         }else{  

  42.             NSLog(@"%d天前",(int)(time / 60 / 60 /24));  

  43.         }  

  44.           

  45.           

  46.         //NSDateFormatter日期格式類  

  47.         //作用:將日期以一定的格式進行轉換(轉換爲字符串),另外也可將日期格式串轉換爲NSDate對象  

  48.         NSDate *date3 = [NSDate date];//創建當前的日期對象  

  49.         NSDateFormatter *formatter = [[NSDateFormatter alloc] init];//創建日期格式對象  

  50.         [formatter setDateFormat:@"yyyy-MM-dd HH:mm:SS"];//爲對象設置日期的格式  

  51.         //指定日期格式  

  52.           //HH 表示24小時制 hh表示十二小時制  

  53.           //MM 表示月份 mm 表示分鐘  

  54.           //dd 表示當月的天數 DD表示當天處於本年第幾天  

  55.           //ss 表示秒數  

  56.           //如果年份給兩個yy,則只顯示年份的後兩位,如果給其他個數的y,都是顯示完整的年份.  

  57.           //例如:MM等 如果給兩位,則月份如果是一位時,前面補0.  

  58.         [formatter setDateStyle:NSDateFormatterFullStyle];//設置日期輸出的風格  

  59.         [formatter setTimeStyle:NSDateFormatterFullStyle];//設置時間輸出的風格  

  60.         NSString *dateStr = [formatter stringFromDate:date3];  

  61.         NSLog(@"%@",dateStr);  

  62.           

  63.         //將日期格式串轉化爲NSDate對象@"2008-08-08 20:08:08"  

  64.         NSString  *dateStr1 = @"2008-08-08 20:08:08";  

  65.         //創建日期格式化對象  

  66.         NSDateFormatter *formatter1 = [[NSDateFormatter alloc]init];  

  67.         //設置日期格式(一定要和日期格式串中日期的格式保持一致).  

  68.         [formatter1 setDateFormat:@"yyyy-MM-dd HH:mm:ss"];  

  69.         //將格式字符串轉換爲NSData對象  

  70.         NSDate *date4 = [formatter1 dateFromString:dateStr1];  

  71.         NSLog(@"%@",date4);  

  72. </span>  


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章