zoukankan      html  css  js  c++  java
  • NSDate、NSCalendar、NSDateFormatter

    AppDelegate.m

        NSDate *now1 = [[NSDate alloc]init];
        NSDate *now2 = [NSDate date];
        NSLog(@"%@",now1);
        NSLog(@"%@",now2);
        //追加时间
        NSDate *beforeAnHour = [now1 dateByAddingTimeInterval:-3600 * 24];
        NSDate *anHourAfter = [now1 dateByAddingTimeInterval:3600 * 24];
        NSLog(@"%@",beforeAnHour);
        NSLog(@"%@",anHourAfter);
        //日期时间差
        NSTimeInterval timeBetween = [now1 timeIntervalSinceDate:beforeAnHour];
        NSTimeInterval interval = [anHourAfter timeIntervalSinceNow];
        NSLog(@"%f",timeBetween);
        NSLog(@"%f",interval);
        //得到时间迟的日期
        if([now1 isEqualToDate:now1])
        {
            NSLog(@"early date = %@",[now1 earlierDate:beforeAnHour]);
        }
        
        //自定义日历
        NSDateComponents *components = [[NSDateComponents alloc]init];
        [components setYear:2014];
        [components setMonth:1];
        [components setDay:1];
        [components setHour:21];
        [components setMinute:30];
        [components setSecond:56];
        
        NSCalendar *currentCalend = [NSCalendar currentCalendar];
        NSDate *date = [currentCalend dateFromComponents:components];
        NSLog(@"%@",date);//东八区
        
        //自定义date格式
        NSDateFormatter *formate = [[NSDateFormatter alloc]init];
        [formate setDateFormat:@"yyyy年MM月dd日HH时mm分ss秒"];
        NSString *strDate = [formate stringFromDate:date];
        NSLog(@"%@",strDate);
        NSDate *myDate = [formate dateFromString:strDate];
        NSLog(@"%@",myDate);//东八区

     计算和所给时间和当天时间的差距

    NSDate *date = [NSDate dateWithTimeIntervalSinceNow:-90000];
        NSCalendar *calendar = [NSCalendar currentCalendar];//日历
        NSDateComponents *components = [calendar components:NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit fromDate:date toDate:[NSDate date] options:0];
        int year = [components year];
        int month = [components month];
        int day = [components day];
        //三天以内更改显示格式
        if (year == 0 && month == 0 && day < 3) {
            if (day == 0) {
                self.title = NSLocalizedString(@"今天",nil);
            }
            else if (day == 1) {
                self.title = NSLocalizedString(@"昨天",nil);
            }
            else if (day== 2) {
                self.title = NSLocalizedString(@"前天",nil);
            }
        }
  • 相关阅读:
    .net面试--值类型和引用类型
    Centos7下安装Docker(详细的新手装逼教程)
    C# 开源框架(整理)
    service配置文件
    kafka消息队列、环境搭建与使用(.net framework)
    消息队列
    并发、并行、同步、异步、多线程的区别
    破解studio 3T
    HM后台(二)
    HM后台(一)
  • 原文地址:https://www.cnblogs.com/huen/p/3534612.html
Copyright © 2011-2022 走看看