? ? ?在ios開發(fā)中我們經(jīng)常需要用到時間,ios提供了獲取時間的一些方法,但是需要經(jīng)過一些處理才能得到我們想要的效果法竞!
? ? ? ? NSDate *date = [NSDate date]; // 獲得時間對象
? ? ? ? date打印出的結(jié)果:2016-03-17 09:36:47 +0000 這種格式
? ? ? 獲取的這個時間是格林威治(GMT)時間(不懂請百度),我們需要處理成我們本地的時間
? ? ? NSTimeZone *zone = [NSTimeZone systemTimeZone];//系統(tǒng)時區(qū)
? ? ? NSInteger interval = [zone secondsFromGMTForDate: date];//相對于GMT時間偏移的秒數(shù)
? ? ?NSDate *localeDate = [date? dateByAddingTimeInterval: interval];
? ? localeDate打印的就是你所在的當(dāng)?shù)貢r間:2016-03-17 17:42:27 +0000
? ? ?得到我們想要的時間以后我們需要將它轉(zhuǎn)化成我們想要的字符串格式
? ? ?NSDateFormatter *forMatter = [[NSDateFormatter alloc] init];
? ? ?[forMatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
? ? ?NSString *dateStr = [forMatter stringFromDate:date];
? ? dateStr打印出的結(jié)果(年月日小時分鐘秒自行設(shè)置):2016-03-17 17:45:48
? ? 有時候的需求是活動倒計時方式雷则,比如說離活動還有多少天多少小時等等郎楼,這時候我們用時間戳來處理會比較方便,只需要把活動開始和活動結(jié)束獲取的時間戳進(jìn)行運(yùn)算后万伤,轉(zhuǎn)化成我們所需要的時間即可,提供一個簡單的方法:
? ? - (double)timeDifferenceWithEarlyTimeStamp:(NSString *)earlyTimeStamp ? ? ?andLateTimeStamp:(NSString *)lateTimeStamp {
? ? ?double timeDifference = lateTimeStamp.doubleValue - ? ? ? earlyTimeStamp.doubleValue;
? ? ? double hours = timeDifference/3600.0;//看需要轉(zhuǎn)化成需要的時間格式
return hours;
}