首页 > 代码库 > NSDate --- 日期

NSDate --- 日期

//
//  main.m
//  OC05-task-06
//
//  Created by Xin the Great on 15-1-26.
//  Copyright (c) 2015年 Xin the Great. All rights reserved.
//

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        // insert code here...
        //////////////////////NSDate --- 日期//////////////////////
        
        //获取当前系统的时间   标准时间 GMT  格林尼治时间
        NSDate *date = [NSDate date];
        NSLog(@"date is %@", date);
        
        NSDate *date1 = [[NSDate alloc] init];
        NSLog(@"date1 is %@", date1);
        
        //获取时间戳   以秒为单位
        NSTimeInterval time1970 = [date timeIntervalSince1970];
        NSLog(@"time1970 is %.1f", time1970);
        
        NSTimeInterval time2001 = [date timeIntervalSinceReferenceDate];
        NSLog(@"time2001 is %.1f", time2001);
        
        NSTimeInterval time = [date timeIntervalSinceNow];
        NSLog(@"time is %.1f", time);
        
        //获取昨天的时间
        NSTimeInterval second = 24 * 60 * 60;
        NSDate *yesterDayDate = [[NSDate alloc] initWithTimeIntervalSinceNow:-second];
        NSLog(@"yesterDayDate is %@",yesterDayDate);
        
        //获取明天的时间
        NSDate *tomorrowDayDate = [NSDate dateWithTimeInterval:second sinceDate:[NSDate date]];
        NSLog(@"tomorrowDayDate is %@", tomorrowDayDate);
        
        //获得未来的某一个时间
        NSDate *future = [NSDate distantFuture];
        NSLog(@"future is %@", future);
        
        //获得古代的某一个时间
        NSDate *past = [NSDate distantPast];
        NSLog(@"past is %@", past);
        
        //日期的比较
//        BOOL isTure = [date isEqualToDate:date1];
//        NSLog(@"isTure is %d", isTure);
        
        //返回两个时间比较早的那个时间
        NSDate *earlierDate = [tomorrowDayDate earlierDate:future];
        NSLog(@"earlierDate is %@", earlierDate);
        
        //返回两个时间比较晚的那个时间
        NSDate *later = [tomorrowDayDate laterDate:future];
        NSLog(@"later is %@", later);
        
        
        //将时间戳转换成字符串
        NSString *str = @"123456789";
        NSTimeInterval second2 = [str doubleValue];
        NSDate *date3 = [NSDate dateWithTimeIntervalSince1970:second2];
        NSLog(@"date3 is %@", date3);
        
        //格式化日期类
        NSDateFormatter *df = [[NSDateFormatter alloc] init];
        [df setDateFormat:@"yyyy年MM月dd日 HH小时mm分钟ss秒 ZZZZ"];
        
        //将日期按照格式化日期类转换为字符串
        NSString *str2 = [df stringFromDate:date3];
        NSLog(@"str2 is %@", str2);
        
        //通过字符串转换为date
        NSDate *date4 = [df dateFromString:str2];
        NSLog(@"date4 is %@", date4);
        
    }
    return 0;
}

NSDate --- 日期