iphone 开发过程中一些问题的解决方法(NSDate)

来源:互联网 发布:中文电子图书数据库有 编辑:程序博客网 时间:2024/06/10 07:34

1.关于NSDate于NString的转换

  在开发关于时间问题的iphone应用程序时候,难免会遇到DSDate与NSString之间的转换;

  可以通过宏来定义自己想要的时间格式

  例如:

  #define kDEFAULT_DATE_TIME_FORMAT (@"yyyy-MM-dd")

 

  1.1 NSDate->NSString

  +(NSString *)NSStringDateToNSDate:(NSDate *)date

  {   
      NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
      [formatter setDateFormat:kDEFAULT_DATE_TIME_FORMAT];
      NSString  *dateString = [formatter stringFromDate:date];
      [formatter release];
      return dateString;
 }

  1.2 NSString->NSDate

  +(NSDate *)NSStringDateToNSDate:(NSString *)string

  {   
      NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
      [formatter setDateFormat:kDEFAULT_DATE_TIME_FORMAT];
      NSDate  *date = [formatter dateFromString:string];
      [formatter release];
      return date;
 }

 1.3几个重要的函数使用

- (NSTimeInterval)timeIntervalSinceDate:(NSDate *)anotherDate;
- (NSTimeInterval)timeIntervalSinceNow;
- (NSTimeInterval)timeIntervalSince1970;

查看api源码发现

typedef double NSTimeInterval;

实际上NSTimeInterval是双精度类型的,cocoa中Interval是以秒为单位的,以上几个函数顾名思义就是得到时间的dualtion,在对时间间隔操作,尤其数据库操作会很有用处。