Fork me on GitHub

iOS 应用里获取日期间隔的方法

这里要使用ios有关的日期时间api:

  NSDate,类似java里面的Date对象,是对从1970-1-1毫秒数的封装,可记录时间;

  NSDateFormatter,类似java中的DateFormat相关的api,用于日期对象的格式化或者字符串解析为日期对象。

  首先,创建一个日期格式化对象:

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

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

  然后,创建了两个日期对象:

  NSDate *date1=[dateFormatter dateFromString:@"2010-3-3 11:00"];

  NSDate *date2=[dateFormatter dateFromString:@"2010-3-4 12:00"];

  创建日期对象,是通过字符串解析的。

  然后取两个日期对象的时间间隔:

  NSTimeInterval time=[date2 timeIntervalSinceDate:date1];

  这里的NSTimeInterval 并不是对象,是基本型,其实是double类型,是由c定义的:

  typedef double NSTimeInterval;

  再然后,把间隔的秒数折算成天数和小时数:

  int days=((int)time)/(3600*24);

  int hours=((int)time)%(3600*24)/3600;

  NSString *dateContent=[[NSString alloc] initWithFormat:@"%i天%i小时",days,hours];

posted on 2012-03-04 22:08  pengyingh  阅读(579)  评论(0)    收藏  举报

导航