关闭

Objective-C(十四、NSDate类及日期格式化类NSDateFormatter)——iOS开发基础

标签: iOS开发基础OCNSDate日期格式化NSTimeZone
2831人阅读 评论(0) 收藏 举报
分类:

结合之前的学习笔记以及参考《Objective-C编程全解(第三版)》,对Objective-C知识点进行梳理总结。知识点一直在变,只是作为参考,以苹果官方文档为准~


十四、NSDate类,时间类


注意:下面的所提及的方法都是常用方法,全部列出不大现实,参考Xcode帮助文档即可~


1、时间戳
某一日期到1970年的秒数大小
获取时间戳

 NSDate *date = [NSDate date];
 NSLog(@"%@", date);
 NSTimeInterval time = [date timeIntervalSince1970];
 NSLog(@"%lf", time);

output:

 2015-07-07 10:12:12 +0000
 1436263932.742765

注意:创建date当前时间点的日期对象,是格林威治时间0时区的时间

2、常用方法
a、创建类方法

 + (instancetype)date;
 + (instancetype)dateWithTimeIntervalSinceNow:(NSTimeInterval)secs;
 + (instancetype)dateWithTimeIntervalSinceReferenceDate:(NSTimeInterval)ti;
 + (instancetype)dateWithTimeIntervalSince1970:(NSTimeInterval)secs;

b、昨天,今天,明天

 NSTimeInterval time = 24*60*60;
 NSDate *yesterday = [[NSDate alloc] initWithTimeIntervalSinceNow:-time];
 NSDate *today = [[NSDate alloc] initWithTimeIntervalSinceNow:0];
 NSDate *tomorrow = [[NSDate alloc] initWithTimeIntervalSinceNow:time];
 NSLog(@"%@,%@,%@",yesterday,today,tomorrow);

output:

2015-07-06 13:28:43 +0000,2015-07-07 13:28:43 +0000,2015-07-08 13:28:43 +0000

3、日期格式化类 NSDateFormatter
(1)创建及初始化

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

(2)设置显示格式

 formatter.dateFormat = @"yyyy/MM/dd HH:mm:ss";
  • d:7
  • dd:07
  • M:7
  • MM:07
  • MMM:7月
  • MMMM:七月
  • yy:15
  • yyyy:2015
  • h:12小时制,6
  • hh:12小时制,06
  • HH:24小时制,6
  • HH:24小时制,18
  • m,mm,s,ss都是有无前导0的区别

4、时区NSTimeZone

 NSArray *zoneNames = [NSTimeZone knownTimeZoneNames];
 NSLog(@"%@", zoneNames);

可以通过此语句通过查看有哪些时区

 NSDate *date = [NSDate date];
 NSLog(@"%@", date);

 NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
 formatter.dateFormat = @"yyyy/MM/dd HH:mm:ss";
 NSTimeZone *timeZone = [[NSTimeZone alloc] initWithName:@"America/New_York"];
 formatter.timeZone = timeZone;
// 时间转换字符串
 NSString *dateString = [formatter stringFromDate:date];
 NSLog(@"%@", dateString);

output:

 2015-07-07 10:44:08 +0000
 2015/07/07 06:44:08
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:193307次
    • 积分:2949
    • 等级:
    • 排名:第12453名
    • 原创:87篇
    • 转载:39篇
    • 译文:0篇
    • 评论:27条
    最新评论