日期类NSDate与日期格式化类NSDateFormatter类的使用

(Java里面的时间都是毫秒,而OC里面的都是以秒为单位)
1、创建一个时间对象
(1) 产生当前时间
NSDate *date = [NSDate date]; 打印的是格林制时间,比北京时间要慢(少)8个小时。(主要原因是此函数打印的是0时区的时间,而北京是东8区,因此要比打印出来的时间快8个小时)。
(2)创建比指定时间晚一定时间间隔的时间对象。如下所示:
NSDate *date2 = [NSDate dateWIthTimeInterval:5 sinceDate:date] 即创建一个比date晚5秒钟的时间对象date2.
2、时间对象的方法
(1)计算从1970年开始走过的秒数。如下方法所示:
NSTimerInterval seconds = [date2 timeIntervalSince1970];
(2)计算调用代码的时间即now与特定时间对象相差多少秒。如下:NSTimerInterval seconds = [date2 timeIntervalSince1970];
3、最重要的是日期格式化:
(1)先创建一个日期格式化类:NSDateFormatter如下所示:
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
(2)调用格式化类的dateFormat属性创建指定的时间格式。
formatter.dateFormat = @“yyyy-MM-dd HH:mm:ss”
注意:yyyy 表示年,必须是小写。MM 月份必须是大写。dd表示一月的第几天必须是小写。 mm分钟,必须小写。ss秒,必须小写。
特别注意:HH表示的是24小时制的小时。hh表示的是12小时进制的时间。
(3)利用创建好格式的格式化类的对象将字符串转化为日期对象。
NSString  *time = @“2011/09/10 18:56”;
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = @“yyyy/MM/dd HH:mm”;
[formatter dateFromString:time];
(4)利用创建好格式的格式化类的对象将日期对象转化为字符串对象。利用如下方法即可:如下所示:
[formatter stringFromDate:date];
注意:在添加格式的时候不要用反斜杠,因为系统会把它当成转义字符。





你可能感兴趣的:(日期类NSDate与日期格式化类NSDateFormatter类的使用)