您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 突破Objective-C开发速学手册之时间日期处理
第16章时间日期处理在计算机上,处理日期和时间一直都是相当重要的任务,所以Objective-C提供了一些类。我们可以通过这些类中的方法,对日期和时间进行处理。本章将主要讲解Objective-C提供的这些类的相关操作。16.1NSDateNSDate是Objective-C用来处理日期和时间提供的第一个类。它是一个封装了某个给定时刻的类,包括时间和日期。本节将主要讲解NSDate的创建、NSDate对日期时间进行处理的方法等相关方面的知识。16.1.1创建NSDate我们在使用NSDate前,应该将NSDate的头文件引入我们要使用的NSDate程序中。#importFoundation/NSdate.h16.1.1创建NSDateNSDate*对象名=[NSDatedate];NSDate*对象名=[[NSDatealloc]init];data方法标准的初始化16.1.2获取当前的日期当我们要对当前的日期进行查看时,可以使用NSDate查看日期及时间。16.1.3获取昨天的日期如果我们想要获取昨天的日期就是用dateWithTimeIntervalSinceNow()方法。[NSDatedateWithTimeIntervalSinceNow:-(24*60*60)];16.1.3获取昨天的日期[NSDatedateWithTimeIntervalSinceNow:符号(hh*mm*ss*n)];符号可以是“+”可以没有,还可以为“-”16.1.3获取昨天的日期nhhmmss高低16.1.4日期的比较我们不仅可以获取日期,还可以对日期进行比较。日期比较操作基本可以分为三种。日期的比较比较日期是否相等比较日期那个在前比较日期那个在后1.判断日期是否相等当我们想判断两个日期是否相等时,可以采用isEqualToDate()方法。[NSDate对象名1isEqualToDate:NSDate对象名2];2.判断哪个日期在前当我们要想知道日期中哪个日期在前,可以采用earlierDate()方法。[NSDate对象名1earlierDate:NSDate对象名2];3.判断哪个日期在后当我们要想知道日期中哪个日期在后,可以采用laterDate()方法。[NSDate对象名1laterDate:NSDate对象名2];16.1.5两个日期的时间差当我们要计算两个日期中间的差值时,可以采用timeIntervalSinceDate()方法。[NSDate对象名1timeIntervalSinceDate:NSDate对象名2];16.1.6时间间隔我们见到NSTimeInterval表示一秒为单位的时间片。通过它就可以创建相对于其它日期的一个日期。时间间隔就是指在固定的时间之前的时间和时间以后的时间。16.2使用NSCalendar我们使用NSDate所看到的日期全部都是数字。为了更为人性化,Objective-C提供了NSCalender。它提供了一组通过更自然的日期组成,例如日、月、星期等,来指定日期的机制。它适用于所有国家的公历和适用于所有国家的日历。本节主要讲解有关日历的操作。16.2.1创建一个给定日期的NSDate对象当我们要创建一个给定日期的NSDate对象时,首先要创建一个NSDateComponents对象并设置参数。NSDateComponents*对象名=[[NSDateComponentsalloc]init];[对象名setDay:日];[对象名setMonth:月];[对象名setYear:年];16.2.1创建一个给定日期的NSDate对象#importFoundation/NSCalendar.h16.2.1创建一个给定日期的NSDate对象NSCalendar*对象名=[NSCalendarcurrentCalendar];16.2.1创建一个给定日期的NSDate对象NSDate*对象名=[NSCalendar对象名dateFromComponents:NSDateComponents对象名];16.2.2日期在不同日历间的转换我们使用的日期是可以再不同的日历中的。我们要将日期放到不同的日历中,要创建一个有着不同日历的日历对象。NSCalendar*日历对象名=[[NSCalendaralloc]initWithCalendarIdentifier:日历的名称];16.2.3获取日期总的年月日日历中的年月日是可以单独获取的,以下程序实现的是日历中获取单独的年,月,日。16.3字符串和日期的相互转化为了方面我们对日期时间的查看,和对日期的某些功能的实现,Objective-C可以将日期转化为字符串,也可以将字符串转换为日期。本节主要讲解日期转换为字符换的实现和字符串转化为日期的实现等相关方面的内容。16.3.1将日期转化为字符串我们要将日期转化为字符串的形式可以使用NSDateFormatter类实现这一功能,我们在使用NSDateFormatter之前,将头文件引入。#importFoundation/NSDateFormatter.h16.3.1将日期转化为字符串NSDateFormatter*对象名=[[NSDateFormatteralloc]init];16.3.2将字符串转化为日期使用NSDateFormatter不仅可以将日期转化为字符串,同时还可以将字符串转化为日期,,所以NSDateFormatter具有双向作用。16.4时区我们在处理日期和时间时,经常会遇到时区。时区是地球上的区域使用同一个时间定义。为此,Objective-C使用NSTImeZone来指定给地区日历对象的时区。我们在使用时区之前,必须要先将时区的头文件引入程序中。#importFoundation/NSTimeZone.h16.4时区NSTimeZone*对象名=[[NSTimeZonealloc]initWithName:时区名];16.5小结本章主要为大家讲解了日期的创建,日期的比较、获取两个日期的时差、时间间隔和日历的使用等相关方面的内容,本章的重点在于字符串和日期的转换。通过本章的学习希望读者可以使用我们所讲的方法对日期时间进行处理,而不是手动处理,这样处理可以节省时间。
本文标题:突破Objective-C开发速学手册之时间日期处理
链接地址:https://www.777doc.com/doc-735783 .html