NSDate

//NSDate

   

    NSDate *now = [NSDate date];

    NSLog(@"%@", now);

    

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

    [formatter setTimeZone:[NSTimeZone defaultTimeZone]];//哪个时区

    

    //m:minute  M:月份month  aa:上下午  HH:24小时  hh:12小时制

    //DataFormat 约定时间的格式

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

    

    NSLog(@"%@", [formatter stringFromDate:now]);

    [formatter release];

    

    //NSDate转换成字符串

    //Formatter转换成对应时区的格式,NSdate不分时区,均已标准时区为准

    NSDateFormatter *f1 = [[NSDateFormatter alloc] init];     [f1 setTimeZone:[NSTimeZone defaultTimeZone]];  //f1是系统当前时间

    [f1 setDateFormat:@"yyyy"];   //f1指定输出

    //f1转换成指定格式

    NSString *yearString = [f1 stringFromDate:now];

    int year = [yearString intValue];

    NSLog(@"%d", year);

    [f1 release];

    

    //将字符串转换成NSDate

    NSString *dateString = @"1999-9-9 9:9:9";

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

    [f2 setTimeZone:[NSTimeZone defaultTimeZone]]; 

    [f2 setDateFormat:@"yyyy-MM-dd hh:mm:ss"];

    NSDate * date = [NSDate date];

    date = [f2 dateFromString:dateString];

    NSLog(@"%@", date);

    

    //输出所有时区

    NSLog(@"%@", [NSTimeZone knownTimeZoneNames ]);

    // America/Whitehorse 时区输出dateString

    NSTimeZone *zone = [NSTimeZone timeZoneWithName:@"America/Whitehorse"];

    [f2 setTimeZone:zone];

    NSDate *sDate = [f2 dateFromString:dateString];

    NSLog(@"%@", sDate);

    [f2 release];

    

    //计算明天的时间

    NSDate *tomorrow = [NSDate dateWithTimeIntervalSinceNow:60 * 60 * 24];    //时间流失的秒数

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

    [f3 setTimeZone:[NSTimeZone defaultTimeZone]];

    [f3 setDateFormat:@"yyyy-MM-dd hh:mm:ss aa"];

    NSLog(@"%@", [f3 stringFromDate:tomorrow]);

    [f3 release];

    

    //计算昨天的时间

    NSDate *yesterDay = [NSDate dateWithTimeIntervalSinceNow:- 60 * 60 * 24];

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

    [f4 setTimeZone:[NSTimeZone defaultTimeZone]];

    [f4 setDateFormat:@"yyyy-MM-dd hh:mm:ss aa"];

    NSLog(@"%@", [f4 stringFromDate:yesterDay]);

    [f4 release];

    

    //计算昨天到明天一共间隔多少秒

    //NSTimeIntervaldouble类型

    NSTimeInterval interval = [tomorrow timeIntervalSinceDate:yesterDay];

    NSLog(@"%f", interval);

    NSLog(@"%g", interval); //去掉多余的零

    

    //计算当前时间和⼀一个固定时间的差值,如果差值在60秒内,输出 ”,如果在60秒外3600秒内,输出“xx分钟前”,如果3600秒外, 3600*24秒内,输出“xx⼩小时前   (聊天记录的时间轴)

    NSString *sometimeString = @"2015-2-5 17:15:00";

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

    [f5 setTimeZone:[NSTimeZone defaultTimeZone]];

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

    NSDate *sometime = [f5 dateFromString:sometimeString];

    

    NSTimeInterval inter = ABS([sometime timeIntervalSinceNow]);

    if (inter < 60) {

        NSLog(@"刚刚");

    } else if (inter < 3600){

        NSLog(@"%d分钟前", (int)inter / 60);

    } else {

        NSLog(@"%d小时前", (int)inter / 60 / 60);

    }

    [f5 release];

    

    NSString *s = @"20140501 102318";


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

    [f6 setTimeZone:[NSTimeZone defaultTimeZone]];

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

    NSDate *dt = [f6 dateFromString:s];

    NSLog(@"%@", dt);

    [f6 release];


    

    NSDate *dt1 = [NSDate dateWithdateString:@"20150205124856"];

    NSLog(@"%@",  dt1);


    //Extension(延展)

    /*

    Person *person = [[Person alloc] init];

    [person sayHi];

    [person gotoBed];

    */

    


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值