根据开始时间和时差倒计时

把类似2017-09-08 12:33:10的字符串变为时间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;

}

根据开始时间和时间差倒计时

-(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"];

//设置时间间隔(秒)(这个我是计算出来的,不知道有没有简便的方法 )

//    NSTimeInterval time = 365 * 24 * 60 * 60;//一年的秒数

//得到一年之前的当前时间(-:表示向前的时间间隔(即去年),如果没有,则表示向后的时间间隔(即明年))

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

//转化为字符串

NSString * startDate = [dateFormatter stringFromDate:lastYear];

return startDate;

}


举个例子:

/*

场景: 后台返回一个时间字符串 需要一段时间倒计时

我的思想是 用返回的时间字符串 减去 一个时间差 无论什么地区的时间 时间差一定是一样的

这个时间差 就是 请求数据的或者 收到数据的时候 把当前时间保存 然后 最新的当前时间与保存的当前时间 计算时间差

注意: yyyy-MM-dd HH:mm:ss 这个时间的格式 需要根据需求而定

*/

NSDate * newdata = [NSDate date]; //当前时间

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

//_locationDate 为刚开始请求数据的时间

_timeInterval = [newdata timeIntervalSinceDate:_locationDate];// 计算刚开始请求数据与当前时间的时间差

NSString * timeString = @"2017-10-09 12:11:11"; //需要倒计时的起始时间

NSDate * begindate = [self getDateWithString:timeString]; //把起始时间转为date

NSString * endTime = [self getTempTimeWithtimeinterval:_timeInterval beginTime:begindate]; //输出起始时间减去时差的结果

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在iOS开发中,经常会遇到各种各样的时间问题,8小时时差,时间戳,求时间间隔,农历等等。解决办法网上比比皆是,但大...
    真巧了_嘿阅读 2,819评论 0 7
  • iOS开发中,经常会遇到各种各样的时间问题,8小时时差,时间戳,求时间间隔,农历等等。解决办法网上比比皆是,但大多...
    小李龍彪阅读 6,431评论 1 6
  • 做App避免不了要和时间打交道,关于时间的处理,里面有不少门道,远不是一行API调用,获取当前系统时间这么简单。我...
    沧海的风阅读 774评论 0 1
  • 打初中开始,我就对文字有一种莫名的喜欢,拿起笔一个字一个字在本上刻画这一天的心情,所有烦恼都消了,就像一个朋友在听...
    红梅花开_0f5a阅读 222评论 0 0
  • 打电话是门学问。 对方若是热情、有耐心,会带动自身的情绪,自己说话也会变得轻盈起来;对方要是一副质疑、不耐烦的态度...
    心里藏着一座城阅读 497评论 0 0