IOS 时间和时间戳之间转化示例

作者:简简单单 2017-02-04

以毫秒为整数值的时间戳转换

时间戳转化为时间NSDate

 

 代码如下复制代码

- (NSString *)timeWithTimeIntervalString:(NSString *)timeString

{

  // 格式化时间

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

  formatter.timeZone = [NSTimeZone timeZoneWithName:@"shanghai"];

  [formatter setDateStyle:NSDateFormatterMediumStyle];

  [formatter setTimeStyle:NSDateFormatterShortStyle];

  [formatter setDateFormat:@"yyyy年MM月dd日 HH:mm"];

   

  // 毫秒值转化为秒

  NSDate* date = [NSDate dateWithTimeIntervalSince1970:[timeString doubleValue]/ 1000.0];

  NSString* dateString = [formatter stringFromDate:date];

  returndateString;

}

 

时间转化为时间戳

 

 代码如下复制代码

  // 当前时间

 NSDate* date = [NSDate dateWithTimeIntervalSinceNow:0];

NSTimeInterval a=[date timeIntervalSince1970]*1000;// *1000 是精确到毫秒,不乘就是精确到秒

NSString *timeString = [NSString stringWithFormat:@"%.0f", a];//转为字符型

 

通过比较时间与当前时间返回年月日的方法

 

 代码如下复制代码

- (void)getBabyDetailAge:(NSString *)date

{

  // 获得日期对象

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

  formatter_.dateFormat = @"yyyy-MM-dd HH:mm:ss";

  NSDate *createDate = [formatter_ dateFromString:date];

   

  NSCalendar *gregorian = [[ NSCalendar alloc ] initWithCalendarIdentifier : NSCalendarIdentifierGregorian];

  NSUInteger unitFlags = NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear;

  NSDateComponents *components = [gregorian components:unitFlags fromDate:createDate toDate:[NSDate date] options: 0 ];

   

  NSInteger years = [components year];

  NSInteger months = [components month ];

  NSInteger days = [components day ];

}

 

相关文章

精彩推荐