main.h
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
#pragma mark NSDate:获取时间的类
/**
* NSDate是iOS中表示日期、时间的数据类型,包含年月日时分秒,提供了日期的创建。比较、时间间隔计算的功能
*
**/
// // 获取当前时间:获取到的date对象是零时区的时间
NSDate *nowDate = [NSDate date];
NSLog(@"%@",nowDate);
// 获取当前时区的时间
NSString *localDate = [nowDate descriptionWithLocale:[NSLocale currentLocale]];
NSLog(@"%@",localDate);
// 获取距离当前时间若干秒之后的时间:NSTimeInterval是一个以秒为单位的时间间隔,是一个double类型的数据
NSDate *eightAreaDate = [NSDate dateWithTimeIntervalSinceNow:8*60*60];
NSLog(@"=====%@",eightAreaDate);
// 获取明天这个时间的时间
NSDate *tomorrowDate = [NSDate dateWithTimeIntervalSinceNow:32*60*60];
NSLog(@"tomorrowDate = %@",tomorrowDate);
// 获取时间戳
// 什么是时间戳?从1970年1月1日开始到当前时间经过了多少秒
NSTimeInterval timeInterval = [nowDate timeIntervalSince1970];
NSLog(@"%f",timeInterval);
// 将时间戳转换为当前日期
NSDate *InterValDate = [NSDate dateWithTimeIntervalSince1970:timeInterval];
NSLog(@"%@",InterValDate);
// 获取两个时间之间的间隔
NSTimeInterval betweenTwoTimes = [tomorrowDate timeIntervalSinceDate:eightAreaDate];
NSLog(@"%f",betweenTwoTimes);
// NSDate *nowTime = [NSDate dateWithTimeIntervalSinceNow:8 * 60 * 60];
// NSDate *Time1 = [NSDate dateWithTimeIntervalSinceNow:10 * 60 * 60];
//// NSDate *Time2 = [NSDate dateWithTimeIntervalSinceNow:9*60*60];
//
//// 获取时间差值 :用第一个对象减去第二个对象,得到他们的差值
// NSTimeInterval time = [Time1 timeIntervalSinceDate:nowTime];
// NSLog(@"===%f",time);
// // 判断差值
// if (time < 60) {
// NSLog(@"刚刚");
// }else if(time > 60 && time < 3600){
// NSLog(@"%d分钟前",(int)time/60);
// }else if(time > 3600 ){
// NSLog(@"%d时前",(int)time/60/60);
// }
#pragma mark NSDateFormatter 时间的格式转换类
/**
* NSDateFormatter 是iOS中的日期格式类,主要实现;将代表日期的NSDate对象转换为字符串对象,或将时间字符串转换为日期对象
* NSDateFormatter 可以根据我们提供的日期格式,将NSDate转换为指定格式的字符串
* 我们有两种方法指定日期格式:1.使用系统预置的日期格式。2.自定义日期格式
* 在将时间对象转换为字符串对象时,会先自动将时间对象转变为当前时区的时间,再转换为字符串
* 在将字符串格式的时间转换为时间对象时,现将本失去时间转换为零时区时间,然后再转换为事件对象
**/
// 使用系统预置的日期格式
// 1.创建一个NSDateFormatter对象
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
// 2.设置日期格式
[formatter setDateStyle:NSDateFormatterFullStyle];
// 3.设置时间格式
[formatter setTimeStyle:NSDateFormatterFullStyle];
// 4.创建date对象,进行转换
NSString *str = [formatter stringFromDate:nowDate];
NSLog(@"%@",str);
// 使用自定义方式定义时间格式
// 1.创建NSDateFormatter对象
NSDateFormatter *selfFormatter = [[NSDateFormatter alloc] init];
[selfFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss:SS"];
NSString *str1 = [selfFormatter stringFromDate:nowDate];
NSLog(@"%@",str1);
// 将一个字符串格式的时间转换为时间对象
// 创建出字符串格式的时间
NSString *dateString1 = @"2015年11月03号 14时52分00秒";
// 1. 创建出NSDateFormatter对象
NSDateFormatter *formatter1 = [[NSDateFormatter alloc] init];
// 2. 设置对应的时间格式,该格式要严格和字符串时间匹配,否则不能正常转换
[formatter1 setDateFormat:@"yyyy年MM月dd号 HH时mm分ss秒"];
// 3. 调用formatter对象,将字符串格式的时间转换为时间对象
NSDate *dataFormString = [formatter1 dateFromString:dateString1];
NSLog(@"%@",dataFormString);
return 0;
}