//
// main.m
// 时间处理
//
// Created by pj on 14-8-8.
// Copyright (c) 2014年 pj. All rights reserved.
//
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
// 返回时间戳,秒
// long l = time(NULL);
// printf("%u\n",l); // 1407513659
//
// // 当前时间
// NSDate *date = [NSDate date];
// NSLog(@"%@",date);
//
// // 返回以当前时间为基准,然后过了secs秒的时间
// date = [NSDate dateWithTimeIntervalSinceNow:22];
// NSLog(@"%@",date);
//
// // 返回以1970/01/01 GMT为基准,然后过了secs秒的时间
// date = [NSDate dateWithTimeIntervalSince1970:22];
// NSLog(@"%@",date);
//
// // 返回很多年以后的未来的某一天 4001-01-01 00:00:00 +0000
// date = [NSDate distantFuture];
// NSLog(@"%@",date);
//
// // 返回很多年以前的某一天
// date = [NSDate distantPast]; // 0001-12-30 00:00:00 +0000
// NSLog(@"%@",date);
//
// // 返回以目前的实例中保存的时间为基准,然后过了secs秒的时间
// date = [date addTimeInterval:22];
// NSLog(@"%@",date);
//
// // 与otherDate比较,相同返回YES
// if ([[NSDate date] isEqualToDate:[NSDate date]]) {
// NSLog(@"相同");
// }
//
// NSDate *date1 = [NSDate date];
// NSDate *date2= [NSDate date];
// // 与anotherDate比较,返回较早的那个日期
//
// NSDate *d = [date1 earlierDate:date2];
// NSLog(@"%@",d);
// //- (NSDate *)laterDate:(NSDate *)anotherDate;
// // 与anotherDate比较,返回较晚的那个日期
//
//
// //NSDateFormatter
// //声明一个格式化日期对象
NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
// //设置日期格式
// w 返回当前年的星期
// W 返回当前月的星期
// a 返回上午还是下午
// c 或者 e 应该是返回星期几
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; // 年-月-日 小时:分钟:秒
// //将时间转化成指定格式字符串
NSString *dateString = [formatter stringFromDate:[NSDate date]];
NSLog(@"%@",dateString);
//
//
// //声明一个格式化日期对象
//
// NSDateFormatter *dateFor = [[NSDateFormatter alloc]init];
// //设置日期格式
// [dateFor setDateFormat:@"yyy-MM-dd HH:mm:ss"];
// //给定字符串
// NSString *dateStr = @"2008-08-08 20:00:00";
// NSDate *date11 =[dateFor dateFromString:dateStr];
//
// NSLog(@"%@",date11);
//
//
// NSTimeInterval time = [[NSDate date] timeIntervalSince1970];
// long long int date3 = (long long int)time;
// NSLog(@"%u",date3);
// NSLog(@"date\n%d", date3); //1295322949
// //把秒数转化成yyyy-MM-dd hh:mm:ss格式
// NSDate *dd = [NSDate dateWithTimeIntervalSince1970:date3];
// NSLog(@"d:%@",dd); //2011-01-18 03:55:49 +0000
//
NSLog(@"%@",[NSDate date]);
//
NSDate *date = [NSDate date];//这个是NSDate类型的日期,所要获取的年月日都放在这里;
NSCalendar *cal = [NSCalendar currentCalendar];
unsigned int unitFlags = NSYearCalendarUnit|NSMonthCalendarUnit|
NSDayCalendarUnit;//这句是说你要获取日期的元素有哪些。获取年就要写NSYearCalendarUnit,获取小时就要写NSHourCalendarUnit,中间用|隔开;
NSDateComponents *d = [cal components:unitFlags fromDate:date];//把要从date中获取的unitFlags标示的日期元素存放在NSDateComponents类型的d里面;
//然后就可以从d中获取具体的年月日了;
NSInteger year = [d year];
NSInteger month = [d month];
NSInteger day = [d day];
NSInteger weekNumber = [d weekday]; //获取星期对应的长整形字符串
NSLog(@"%ld",weekNumber);
NSLog(@"%ld",year);
NSLog(@"%ld",month);
NSLog(@"%ld",day);
return 0;
}