温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

iOS开发OC基础:OC中日期类NSDate类的常用方法

发布时间:2020-08-01 06:20:57 来源:网络 阅读:1503 作者:winann 栏目:移动开发

因为OC中的一些方法的使用比较简单,所以代码比较少,我会把完整的代码贴到这里,如果代码过多,我会考虑上传工程附件。

今天来介绍一下NSDate类的常用方法,可以帮助大家理解日期类的基本用法,因为所有的解释说明都放在了代码的注释里,大家可以参照着看,也可以拷贝到工程里进行运行查看。


main.h中的全部代码为:

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{

    @autoreleasepool {
    
        
        //1.创建NSDate对象
        //通过date创建对象拿到的是0时区的时刻,本地的时刻还需加8个小时
        NSDate *date1 = [NSDate date];
        NSLog(@"%@", date1);
        
        //2.创建一个NSDate对象,让它表示明天此时的时刻
        //从当前时刻开始,加上给定的时间间隔
        //NSTimeInterval 是一个时间间隔,时间间隔是以秒为单位的
        NSDate *date2 = [NSDate dateWithTimeIntervalSinceNow:24 * 60 * 60];
        NSLog(@"%@", date2);
        
        //3.创建NSDate对象,表示昨天此时的时刻
        NSDate *date3 = [NSDate dateWithTimeIntervalSinceNow:- 24 * 60 * 60];
        NSLog(@"%@", date3);
        
        //4.获得两个指定时刻的时间间隔NSTimeInterval
        NSTimeInterval interval1 = [date2 timeIntervalSinceDate:date3];
        NSLog(@"%.2f", interval1 / 24 / 60 /60);
        
        //5.输出日期格式
        //创建一个日期格式类的对象
        NSDateFormatter *formatter1 = [[NSDateFormatter alloc] init];
        //设置日期的格式
        
        //设置当前时区
        [formatter1 setTimeZone:[NSTimeZone localTimeZone]];
        //月用大写的MM,小时大写HH表示24小时制
//        [formatter1 setDateFormat:@"yyyy年MM月dd日 hh:mm:ss"];
        //(1)设置日期的风格,日期的样式
        [formatter1 setDateStyle:NSDateFormatterFullStyle];
        //(2)设置时间的风格,时间的样式
        [formatter1 setTimeStyle:NSDateFormatterLongStyle];
        
        //将日期转为字符串
        NSString *dateString1 = [formatter1 stringFromDate:date1];
        NSLog(@"%@", dateString1);
        
        //6.通过时间间隔初始化NSDate对象
        //获得当前时间和1970.1.1时间间隔
        NSDate *date5 = [NSDate dateWithTimeIntervalSince1970:0];
        NSTimeInterval interval2 = [date1 timeIntervalSinceDate:date5];
        NSLog(@"%.2f", interval2 / 365 / 24 / 60 / 60);
        //根据时间间隔以及给定的1970.1.1获得指定的时间
        NSDate *date4 = [NSDate dateWithTimeInterval:interval2 sinceDate:date5];
        NSLog(@"%@", date4);
        
        
        //创建日期格式对象
        NSDateFormatter *formatter3 = [[NSDateFormatter alloc] init];
        //设置转化的日期格式,一定要和给定的日期字符串格式相同
        [formatter3 setDateFormat:@"yyyy年MM月dd日 HH点mm分ss秒"];
        //将日期格式串按照日期格式转化为NSDate对象
        NSDate *date6 = [formatter3 dateFromString:@"2014年05月01日 10点23分24秒"];
        NSLog(@"%@", date6);
        
    }
    return 0;
}



这是我在学习的过程中总结的一些方法,希望对大家有所帮助。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI