美文网首页
Foundaton框架-->NSDate

Foundaton框架-->NSDate

作者: 爱貌貌Manners | 来源:发表于2016-10-22 21:21 被阅读9次

NSDate基本概念

一、NSDate创建和基本概念

  • 1.创建一个时间对象
  • 2.获取当前时间做在的时区
  • 3.获得当前所在时区的时差
  • 4.调整时差
  • 只要是通过date方法创建的时间对象, 对象中就保存了当前的时间
NSDate *now = [NSDate date];
    NSLog(@"now = %@", now);
  • 在now的基础上追加多少秒
NSDate *date = [now dateByAddingTimeInterval:10];
  • 获取当前所处的时区
// 1.获取当前所处的时区
    NSTimeZone *zone = [NSTimeZone systemTimeZone];
    // 2.获取当前时区和指定时区的时间差
    NSInteger seconds = [zone secondsFromGMTForDate:now];
//    NSLog(@"seconds = %lu", seconds);

    NSDate *newDate = [now dateByAddingTimeInterval:seconds];
    NSLog(@"newDate = %@", newDate);

二、NSDate --> NSString

  • 1.创建一个时间对象
  • 2.创建一个时间格式化对象
  • 3.告诉格式化对象,需要的时间样式
  • 4.利用格式化对象,对时间格式化。返回字符串
  • 时间格式
    • yyyy 年
    • MM 月
    • dd 日
    • HH 24小时 hh 12小时
    • mm 分钟
    • ss 秒钟
    • Z 时区
  • 时间格式化格式
    NSDate *now = [NSDate date];
    // 创建一个时间格式化对象
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
//    formatter.dateFormat = @"yyyy年MM月dd日 HH时mm分ss秒 Z";
    formatter.dateFormat = @"MM-dd-yyyy HH-mm-ss";
    // 利用时间格式化对象对时间进行格式化
 NSString *res = [formatter stringFromDate:now];
 NSDate *date = [formatter dateFromString:str];

三、NSString --> NSDate

  • 1.创建一个时间字符串
  • 2.创建一个可格式化的对象
  • 3.告诉格式化对象,需要的时间样式「需要和字符串一致」
  • 4.然后把字符串转为NSDate
    // NSString --> NSDate
    NSString *str = @"2015-06-29 07:05:26 +0000";
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    // 注意: 如果是从NSString格式化为NSDate, 那么dateFormat的格式, 必须和字符串中的时间格式一致, 否则可能转换失败
    formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss Z";
    NSDate *date = [formatter dateFromString:str];
    NSLog(@"%@", date);

相关文章

网友评论

      本文标题:Foundaton框架-->NSDate

      本文链接:https://www.haomeiwen.com/subject/dxmhuttx.html