根據(jù)開始時間和時差倒計時

把類似2017-09-08 12:33:10的字符串變?yōu)闀r間date

-(NSDate *)getDateWithString:(NSString *)dateString{

NSString* string = dateString;

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

[inputFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"zh_CN"]];

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

NSDate* inputDate = [inputFormatter dateFromString:string];

return inputDate;

}

根據(jù)開始時間和時間差倒計時

-(NSString *)getTempTimeWithtimeinterval:(NSTimeInterval)time beginTime:(NSDate*)date{

//? ? NSDate * date = [NSDate date];

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

[dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"zh_CN"]];

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

//設(shè)置時間間隔(秒)(這個我是計算出來的,不知道有沒有簡便的方法 )

//? ? NSTimeInterval time = 365 * 24 * 60 * 60;//一年的秒數(shù)

//得到一年之前的當(dāng)前時間(-:表示向前的時間間隔(即去年),如果沒有,則表示向后的時間間隔(即明年))

NSDate * lastYear = [date dateByAddingTimeInterval:-time];

//轉(zhuǎn)化為字符串

NSString * startDate = [dateFormatter stringFromDate:lastYear];

return startDate;

}


舉個例子:

/*

場景: 后臺返回一個時間字符串 需要一段時間倒計時

我的思想是 用返回的時間字符串 減去 一個時間差 無論什么地區(qū)的時間 時間差一定是一樣的

這個時間差 就是 請求數(shù)據(jù)的或者 收到數(shù)據(jù)的時候 把當(dāng)前時間保存 然后 最新的當(dāng)前時間與保存的當(dāng)前時間 計算時間差

注意: yyyy-MM-dd HH:mm:ss 這個時間的格式 需要根據(jù)需求而定

*/

NSDate * newdata = [NSDate date]; //當(dāng)前時間

//? ? NSLog(@"_locationDate == %@",_locationDate);

//_locationDate 為剛開始請求數(shù)據(jù)的時間

_timeInterval = [newdata timeIntervalSinceDate:_locationDate];// 計算剛開始請求數(shù)據(jù)與當(dāng)前時間的時間差

NSString * timeString = @"2017-10-09 12:11:11"; //需要倒計時的起始時間

NSDate * begindate = [self getDateWithString:timeString]; //把起始時間轉(zhuǎn)為date

NSString * endTime = [self getTempTimeWithtimeinterval:_timeInterval beginTime:begindate]; //輸出起始時間減去時差的結(jié)果

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 在iOS開發(fā)中,經(jīng)常會遇到各種各樣的時間問題,8小時時差,時間戳,求時間間隔,農(nóng)歷等等。解決辦法網(wǎng)上比比皆是,但大...
    真巧了_嘿閱讀 2,928評論 0 7
  • iOS開發(fā)中,經(jīng)常會遇到各種各樣的時間問題,8小時時差,時間戳,求時間間隔,農(nóng)歷等等。解決辦法網(wǎng)上比比皆是,但大多...
    小李龍彪閱讀 6,747評論 1 6
  • 做App避免不了要和時間打交道,關(guān)于時間的處理,里面有不少門道,遠(yuǎn)不是一行API調(diào)用,獲取當(dāng)前系統(tǒng)時間這么簡單。我...
    滄海的風(fēng)閱讀 835評論 0 1
  • 打初中開始,我就對文字有一種莫名的喜歡,拿起筆一個字一個字在本上刻畫這一天的心情,所有煩惱都消了,就像一個朋友在聽...
    紅梅花開_0f5a閱讀 246評論 0 0
  • 打電話是門學(xué)問。 對方若是熱情、有耐心,會帶動自身的情緒,自己說話也會變得輕盈起來;對方要是一副質(zhì)疑、不耐煩的態(tài)度...
    心里藏著一座城閱讀 637評論 0 0

友情鏈接更多精彩內(nèi)容