NSDate NSDateFormatter NSTimeZone NSDateComponents NSCalendar

--------------------------------------------------------------------------NSDate----------------------------------------------------------------------------

NSDate:用来获取系统运行时时间.

1:获取IOS当前的运行时间

这样获取的是:世界标准时(UTC) 比中国时间晚8个小时

NSDate *date = [NSDate date];

PS: Format里面的HH大写即可强制获取24小时时间制的时间

2:为NSDate增加减少时间

NSDate *date = [[NSDate alloc] init];
NSTimeInterval time = 5;//单位为秒
NSLog(@"%@",date);
NSDate *newDate = [date dateByAddingTimeInterval:time];//加时间
//NSDate *newDate = [date dateByAddingTimeInterval:-time];//减时间
NSLog(@"%@",newDate);

注:遍历以往或者未来的天数可以通过 增加或减少时间来实现

3:比较时间是否相等

- (BOOL)isEqualToDate:(NSDate *)otherDate;//与otherDate比较,相同返回YES

4:与anotherDate比较,返回较早的那个日期

 - (NSDate *)earlierDate:(NSDate *)anotherDate;

5:与anotherDate比较,返回较晚的那个日期

 - (NSDate *)laterDate:(NSDate *)anotherDate;

6:计算两个时间的 时间间隔是多少  返回 秒值

[endTime timeIntervalSinceDate:beginTime];

注: 如果返回结果  endTime > 0  说明  endTime大于beginTime  反之 小于0 小于beginTime

--------------------------------------------------------------------------NSDate----------------------------------------------------------------------------

-----------------------------------------------------------------NSDateFormatter------------------------------------------------------------------------

1:NSDate 转换成 NSString 格式的日期

NSDateFormatter * formatter =   [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSString *loctime = [formatter stringFromDate:date];
[formatter release]

2:NSString 转换成NSDate 格式的日期

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate *date = [dateFormatter dateFromString:@"2010-08-04 16:01:03"];
NSLog(@"%@", date);
[dateFormatter release];

-----------------------------------------------------------------NSDateFormatter------------------------------------------------------------------------


-----------------------------------------------------------------NSDateComponents------------------------------------------------------------------------

NSDateComponents 是通过 NSCalendar 实例化的

1:通过NSDate获取 NSDateComponents

NSDateComponents *pastDateComponents = [[NSCalendar currentCalendar] components:NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit|NSWeekdayCalendarUnit fromDate:pastDate];

注:参数可以指定需要获取哪些格式的数据

-----------------------------------------------------------------NSDateComponents------------------------------------------------------------------------

时间: 2024-11-18 19:53:06

NSDate NSDateFormatter NSTimeZone NSDateComponents NSCalendar的相关文章

iOS - OC NSDate 时间

前言 NSDate @interface NSDate : NSObject <NSCopying, NSSecureCoding> NSDate 用来表示公历的 GMT 时间(格林威治时间).是独立与任何历法的,它只是时间相对于某个时间点的时间差:NSDate 是进行日历计算的基础. NSDateComponents @interface NSDateComponents : NSObject <NSCopying, NSSecureCoding> NSDateComponent

iOS - Swift NSDate 时间

前言 NSDate public class NSDate : NSObject, NSCopying, NSSecureCoding NSDate 用来表示公历的 GMT 时间(格林威治时间).是独立与任何历法的,它只是时间相对于某个时间点的时间差:NSDate 是进行日历计算的基础. NSDateComponents public class NSDateComponents : NSObject, NSCopying, NSSecureCoding NSDateComponents 封装了

iOS - Swift NSTimeZone 时区

前言 public class NSTimeZone : NSObject, NSCopying, NSSecureCoding NSTimeZone 表示时区信息. 1.NSTimeZone 时区的创建 // 根据时区名称创建 let zone1:NSTimeZone? = NSTimeZone(name: "America/Chicago") // 根据时区缩写创建 let zone2:NSTimeZone? = NSTimeZone(abbreviation: "EST

iOS - OC NSTimeZone 时区

前言 @interface NSTimeZone : NSObject <NSCopying, NSSecureCoding> NSTimeZone 表示时区信息. 1.NSTimeZone 时区的创建 NSTimeZone *zone1 = [[NSTimeZone alloc] init]; // 根据时区名称创建 NSTimeZone *zone2 = [[NSTimeZone alloc] initWithName:@"America/Chicago"]; NSTi

ios-如何查询一个月中特定的一天?

问题描述 如何查询一个月中特定的一天? 研究了很久NSDate,NSDateFormatter和NSCalendar,不知道怎么实现找出一月个中指定一天的功能.比如查询十二月第二个星期一的日期是多少,不知道怎么实现呢? 谢谢指教. 解决方案 谢谢回答者的答案,我根据得到的回答,实现了.最后这样的 -(void)findWeekDay:(NSInteger)weekDay forWeek:(NSInteger)week OfMonth:(NSInteger)month OfYear:(NSInte

obj-c编程10:Foundation库中类的使用(5)[时间对象]

    隔了好久才有了这新的一篇,还是无奈的时间啊!so这次我们就着重谈谈它喽.     F库中有很多时间相关的类,比如NSDate,NSTimeInterval,NSTimeZone,NSDateComponents,NSCalendar,最后还有一个NSDateFormatter.新手很快就被弄的云里雾里了,我也在雾里呆了好长段时间了.简单地说NSDate只是一个单纯的时间类:NSTimeInterval用来表示2个时间之间的间隔:NSTimeZone和NSCalendar顾名思义自然是表示

ios-NSDateComponents中设置小时的问题

问题描述 NSDateComponents中设置小时的问题 在NSDateComponents中设置小时.麻烦看一下我的代码: NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; NSDateComponents *dateComps = [[NSDateComponents alloc] init]; [dateComps setDay:intDay]; [dat

ios-IOS中获取当日上午10点

问题描述 IOS中获取当日上午10点 如何获取当日上午10点和第二天上午10点? NSDateComponents *nowComponents = [calendar components:NSYearCalendarUnit | NSWeekCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit fromDate:today];[nowComponents setHour:10]; 这个响

iphone——日期处理

转自: http://blog.csdn.net/lingedeng/article/details/6996599 Dates         NSDate类提供了创建date,比较date以及计算两个date之间间隔的功能.Date对象是不可改变的.         如果你要创建date对象并表示当前日期,你可以alloc一个NSDate对象并调用init初始化: [cpp] view plaincopy NSDate *now = [[NSDate alloc] init];