NSDate-日期类 OC——第七天(1)

1、总结前面学习的Oc中的几种数据类型
NSInteger
NSUinteger
CGFloat
NSString
NSMutableString
NSSArray
NSMutableArray
NSDictionary
NSMutableDictionary
NSSet
NSMutableSet
2、NSDate 
日期类,继承自NSObject ,代表的是一个时间点
NSDate *date = [NSDate
date];
NSLoge(@“%@“,date);//显示的是格林尼治时间:年-月-日 时:分:秒:+时区
 3、typedef double
NSTimeInterval;  NSTimeInterval实质是double
类型
NSDate *date1 = [NSDate
dateWithTimeIntervalSinceNow:60];
4、昨天的现在时刻
NSDate *date2 = [NSDate
dateWithTimeIntervalSinceNow:-(60 * 60 *24)];
明年的这个时刻
NSDate *date3 = [NSDate
dateWithTimeIntervalSinceNow:366 *24*60*60];
5、计算给定Date对象和当前时间的时间间隔
NSTimeInterval time = [date1
timeIntervalSinceNow];
6、计算当前时间和明年时间
time
= [date timeIntervalSinceNow];
、时间戳:从1970.1.1
到当前时间的时间间隔就叫时间戳
time
= [date timeIntervalSince1970];
8、 时间戳对象
   
NSDate
*date4 =
[NSDate
dateWithTimeIntervalSince1970:360];
9、获取北京时间,在零时区的基础上加上8个小时,就到了东8区,也就是北京时间
NSDate *date5 = [date dateByAddingTimeInterval:8
*60 *60 ];
例子: 计算一个当前时间和一个固定时间的差值如果差值在60妙以内输出“刚刚”,如果在60秒到3600之前,则输出“XX分钟之前”,若在3600到24
*3600 之内,则输出“XX小时之前”,若再24 * 3600之外,则显示固定时间
NSDate  *t2 =
[NSDate
dateWithTimeIntervalSinceNow:-2*3600];

NSTimeInterval
time3 = [t2
timeIntervalSinceNow];

time3 =
-time3;

   
if (time3 <</span>
60) {

       
NSLog(@"刚刚");

   
}else
if (time3 <</span>
3600){ 
 
  
       
NSLog(@"%.2lf分钟之前",time3
/ 60);

   
}else
if (time3 <</span>
24 *3600){

       
NSLog(@"%.2lf小时之前",time3
/ 3600);

   
}else{

       
NSLog(@"%@",t2);
   
}
==============================================================
10、NSDateFormatter 日期格式类,主要作用:将NSDate
对象转化为某种格式,然后转化成NSString 对象

   
//创建NSDateFormatter
对象

   
NSDateFormatter
*formatter =
[[NSDateFormatter alloc]init];
   
//设定日期格式:yyyy(年) -
MM(月) - dd(日)  H(小时) m
(分钟)s(秒)
 [formatter
setDateFormat:@"yyyy年mm月dd日
HH时mm分ss秒"];
   
NSDate
*date7 =
[NSDate
date];
11、
NSDate ——>NSString
stringFormatter
会直接加上相聚0时区的时间间隔

   
NSString
*datestring =
  [formatter stringFromDate:date7];
   
NSLog(@"%@",datestring);
例子: 练习:将date7显示格式变为:2015年09月07号,11-35-20

NSDateFormatter
*formatter2 =
[[NSDateFormatter
alloc]init];

[formatter2 setDateFormat:@"yyyy年mm月dd号
HH-mm-ss"];

   
NSString
*datestring2 =
[formatter2 stringFromDate:date7];

   
NSLog(@"%@",datestring2);
12、将字符串转化为NSDate
对象
比如:将2015年09月07号
11时40分50秒
准备时间格式对象
NSDateFormatter *formatter3 = [[NSDateFormatter alloc]init];

   
[formatter3 setDateFormat:@"yyyy年mm月dd号
HH时mm分ss秒"];

   
//转化字符串对象

   
NSString
*datestring3 =
@"2015年09月07号
11时40分50秒";

   
//NSString
-->NSDate

  NSDate *date8 = 
[formatter3 dateFromString:datestring3];

   
NSLog(@"%@",date8);

//将转换回来的对象手动加上8小时,回到北京时间

NSDate *date9 = 
[date8 dateByAddingTimeInterval:8
*60 *60];

   
NSLog(@"%@",date9);
练习:例子:
将字符串转化为NSDate
对象;比如:@"将2015年09月07日
11时40分50秒"
  //准备时间格式对象
NSDateFormatter *formatter4 = [[NSDateFormatter alloc]init];

     
[formatter4 setDateFormat:@"将yyyy年mm月dd日
HH时mm分ss秒"];

   
NSString
*dateString4 =
@"将2015年09月07日
13时28分50秒";

   NSDate *date11= 
[formatter4  dateFromString:dateString4];

   
NSDate
*date10 =
[date11 dateByAddingTimeInterval:8*60*60];
   
NSLog(@"%@",date10);
  版权声明:本文为博主原创文章,未经博主允许不得转载。
上一篇:windows8 8.1 安装完 ubuntu无法挂载 ntfs分区 解决方法


下一篇:Linux 命令 - ss: 查看套接字统计信息