NSDate 用法

1    NSDate *date = [NSDate date];//获取当前时间

// NSLog(@"%@",date);

NSTimeZone *zone = [NSTimeZone systemTimeZone];
        NSInteger timeOff = [zone secondsFromGMT];
    //时差转化
        NSDate *t = [date dateByAddingTimeInterval:timeOff];

// NSLog(@"%@",t);

2.  
NSDate *t1=[NSDate dateWithTimeIntervalSinceNow:3600];

NSLog(@"%@",t1);// 返回以当前时间为基准,然后过了secs秒的时间

3.
NSDate *date2 = [NSDate dateWithTimeIntervalSince1970:1000];

// NSLog(@"%@",date2);返回以1970年时间为基准,然后过了secs秒的时间

4.
NSDate *t3=[NSDate dateWithTimeIntervalSince1970:100];

NSDate *q1=[t3 dateByAddingTimeInterval:3600];

// NSLog(@"%@",q1);获取给定时间 过了多少秒后的时间,秒数可以为负值

5.
NSTimeInterval q2=[date timeIntervalSince1970];

//NSLog(@"%lf",q2);获取从1970到当前时间(秒数)

6.
 NSTimeInterval q4=[date timeIntervalSinceNow];

// NSLog(@"%lf",q4);//某一时间与当前时间的间隔

7.
 NSTimeInterval q3=[date timeIntervalSinceDate:t1];

// NSLog(@"%lf",q3);//计算两个时间间隔

8.
 NSDate *w1=[date laterDate:date2];

//NSLog(@"%@",w1);获取两个日期时间对象中较晚的一个,若将later改为earlier就是获取较早的一个。

9.//日期时间格式化对象

NSDateFormatter *dateFormatter = [NSDateFormatter new];

//设置日期显示格式            //月份必须是大写字母

[dateFormatter setDateFormat:@"yyyy年MM月dd日 HH时mm分ss秒a"];//2015年06月05日 13时30分10秒 下午                //当小时为小写h时为12小时制,若为大写为24小时制

[dateFormatter setDateFormat:@"yyyy-MM-dd hh:mm:ss a"];//2015-06-05 01:30:10 下午

//格式化日期时间对象(把日期对象转换成字符串)

NSString *localDateTime = [dateFormatter stringFromDate:date];

10.//把日期格式的字符串转换成日期对象

NSString *myDateTimeStr = @"2013-04-25 11:35:20";

NSDateFormatter *formatter = [NSDateFormatter new];

[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];

NSDate *newDate = [formatter dateFromString:myDateTimeStr];

11.时区://系统时区

NSTimeZone *zone = [NSTimeZone systemTimeZone];

12//系统时区缩写

NSString *abbStr = [zone abbreviation];

NSLog(@"系统时区缩写:%@",abbStr);

13//当地时区

NSTimeZone *localTimeZone = [NSTimeZone localTimeZone];        NSLog(@"localTimeZone:%@",localTimeZone);

14//和格林尼治时间差

NSInteger timeOff = [zone secondsFromGMT];

15//时差转化

NSDate *timeOffDate = [date dateByAddingTimeInterval:timeOff];

1.转换时差的方法:

//(1)
//        NSString *str = @"2015年11月11日 11:11:11";
//        NSDateFormatter *o=[[NSDateFormatter alloc]init];
//        [o setDateFormat:@"yyyy年MM月dd日 HH:mm:ss"];
//        [o setTimeZone:[NSTimeZone localTimeZone]];
//        NSDate *cc=[o dateFromString:str];
//        NSDate *cz = [cc dateByAddingTimeInterval:timeOff];
//        NSLog(@"%@",cz);

//(2)
//        NSString *str = @"2015年11月11日 11:11:11";
//        NSDateFormatter *o=[[NSDateFormatter alloc]init];
//        [o setDateFormat:@"yyyy年MM月dd日 HH:mm:ss"];
//        NSDate *cc=[o dateFromString:str];
//        NSInteger da=[[NSTimeZone systemTimeZone]secondsFromGMT];
//        cc=[cc dateByAddingTimeInterval:da];
//        NSLog(@"%@",cc);
       
       
        //(3)
       
//        NSString *str = @"2015年11月11日 11:11:11";
//        NSDateFormatter *o=[[NSDateFormatter alloc]init];
//        [o setDateFormat:@"yyyy年MM月dd日 HH:mm:ss"];
//        [o setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]];
//        NSDate *a=[o dateFromString:str];
//        NSLog(@"%@",a);
      
        //(4)
       
        NSString *str = @"2015年11月11日 11:11:11";
        NSDateFormatter *o=[[NSDateFormatter alloc]init];
        [o setDateFormat:@"yyyy年MM月dd日 HH:mm:ss"];
        [o setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:10]];
        NSDate *a=[o dateFromString:str];

NSLog(@"%@",a);

时间: 2024-10-07 11:43:57

NSDate 用法的相关文章

IOS中NSdate用法

// date方法返回的就是当前时间(now) 02. NSDate *date = [NSDate date]; 03.// now: 11:12:40 04.// date: 11:12:50 05. date = [NSDate dateWithTimeIntervalSinceNow:10];//返回当前时间10秒后的时间 06. // 从1970-1-1 00:00:00开始 07. date = [NSDate dateWithTimeIntervalSince1970:10];//

NSDate用法整理总结

int main(int argc, const char * argv[]) { @autoreleasepool { NSDate *date=[NSDate date]; NSLog(@"%@",date); //借助辅助类简单的格式化 NSCalendar *cal=[NSCalendar currentCalendar]; NSDateComponents *coms= [cal components:NSCalendarUnitYear|NSCalendarUnitMont

NSDate ,NSCalendar一些用法

NSDate *date = [NSDate date]; [date dateByAddingTimeInterval: ]//通过加减秒数来改变date的值这里一般需要用到日期格式器NSFormatter类 NSFormatter *formatter = [NSFormatter alloc]init];[formatter setDateStyle: ]//设置系统时间格式[formatter setDateFormat:];//自定义时间格式(格式要规范)G: 公元时代,例如AD公元y

NSDate的简单用法

NSDate  使用date方法获取的当前时间  是0时区的时间 NSDate *date = [NSDate date]; NSLog(@"%@",date); //如果想获取当前时区的当前时间 需要 + 8小时 NSDate *now = [NSDate dateWithTimeIntervalSinceNow:8 * 60 * 60]; NSLog(@"%@",now); //获取昨天此时时间 NSDate *yesterday = [NSDate dateW

【OC加强】NSDate的用法——日期时间在实际开发中比较实用

(1)日期的最主要知识点就是日期转换成字符串格式化输出,相反就是按照某个格式把字符串转换成日期. (2)一般关于时区的设置很少用到,只要了解即可. #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { //获取当前时间,日期正确,时间错误,是因为时区的设置问题,但是格式化输出用HH:mm:ss貌似是正常的 NSDate *date1=[NSDate date]

UIDatePicker日期/时间选取器的用法 与+NSDate和NSString的相互转换

 UIDatePicker日期/时间选取器 UIDatePicker 是一个控制器类,封装了 UIPickerView,但是他是UIControl的子类,专门用于接受日期.时间和持续时长的输入.日期选取器的各列会按照指定的风格进行自动配置,这样就让开发者不必关心如何配置表盘这样的底层操作.你也可以对其进行定制,令其使用任何范围的日期. UIDatePicker 依赖于 NSDate 类,这个类是cocoa 基础的一员,以前用于桌面系统.本文中仅需用到 initWithString 来创建NSDa

NSDate基本用法

1.[NSDate date]:表示当前时间 2.[NSDate dateWithTimeInterval:5 sinceDate:date]//返回比date晚5秒点时间 3.[date  timeIntervalSince1970] //返回1970到date时间之间的秒数,返回NSTimeInterval类型 4.[date timeIntervalSinceNow]//返回从date当前时间之间的秒数 5.NSDate和NSString之间的转换 NSDate  ->NSString N

OC学习篇之---Foundation框架中的其他类(NSNumber,NSDate,NSExcetion)

1.NSNumber 这个类主要是用来封装基本类型的,说到这里,就不得不说一下了: OC中的集合是不允许存入基本类型的,所以NSNumber类就诞生了,需要将基本类型封装一下,然后存进去,这个类似于Java中的自动装箱和拆箱,Java中的集合其实也是不允许存入基本类型的,但是我们任然看可以那么操作,就是因为有自动装箱功能,如果你将Eclipse的JDK改成5.0之前的,你看看还能操作吗.. 注:那为什么基本类型不能存入到集合中呢? 原因是在操作集合的时候会操作集合元素中的方法,但是基本类型是没有

iOS开发-OC篇-NSDate

今天总结一下OC中NSDate的一些简单的用法,注意可不是NSData哦! NSDate的使用 1> NSDate初始化方法 //获取当前时间 NSDate * date = [NSDate date]; //返回以当前时间为基准,然后过了secs秒的时间 [NSDate dateWithTimeIntervalSinceNow:60 * 60 * 24]; //返回以lastDate为基准,然后过了secs秒的时间 [NSDate dateWithTimeInterval:60 * 60 *