ios获取日期间隔

此文章为转载,仅供学习使用,

在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];

你可能感兴趣的:(java,ios,Date,api,360,2010)