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

简介: 1、总结前面学习的Oc中的几种数据类型NSIntegerNSUintegerCGFloatNSStringNSMutableStringNSSArrayNSMutableArrayNSDictionaryNSMutableDictionaryNSSetNSMutab...
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];
7时间戳:从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);
  版权声明:本文为博主原创文章,未经博主允许不得转载。
目录
相关文章
|
1月前
|
算法 调度 数据库
【C++20 新特性 Calendar (C++20) − Time zone (C++20)】时间的艺术与科学: C++中的现代日期和时区处理
【C++20 新特性 Calendar (C++20) − Time zone (C++20)】时间的艺术与科学: C++中的现代日期和时区处理
119 3
【C++日期类完整版(Date类)】
【C++日期类完整版(Date类)】
|
Java API 数据库
Java常用类(2)--日期时间相关类Date、Calendar、LocalDateTime、Instant全面
Java常用类(2)--日期时间相关类Date、Calendar、LocalDateTime、Instant全面
134 0
Java常用类(2)--日期时间相关类Date、Calendar、LocalDateTime、Instant全面
日期比较
日期比较
53 0
|
存储 SQL 关系型数据库
【方向盘】MySql数据类型---日期时间类型的使用(含datetime和timestamp的区别) 0000-00-00 00:00:00问题解释(上)
【方向盘】MySql数据类型---日期时间类型的使用(含datetime和timestamp的区别) 0000-00-00 00:00:00问题解释(上)
【方向盘】MySql数据类型---日期时间类型的使用(含datetime和timestamp的区别) 0000-00-00 00:00:00问题解释(上)
|
存储 SQL 安全
【方向盘】MySql数据类型---日期时间类型的使用(含datetime和timestamp的区别) 0000-00-00 00:00:00问题解释(中)
【方向盘】MySql数据类型---日期时间类型的使用(含datetime和timestamp的区别) 0000-00-00 00:00:00问题解释(中)
【方向盘】MySql数据类型---日期时间类型的使用(含datetime和timestamp的区别) 0000-00-00 00:00:00问题解释(中)
|
存储 SQL 关系型数据库
【方向盘】MySql数据类型---日期时间类型的使用(含datetime和timestamp的区别) 0000-00-00 00:00:00问题解释(下)
【方向盘】MySql数据类型---日期时间类型的使用(含datetime和timestamp的区别) 0000-00-00 00:00:00问题解释(下)
【方向盘】MySql数据类型---日期时间类型的使用(含datetime和timestamp的区别) 0000-00-00 00:00:00问题解释(下)
|
存储 Java API
Java日期时间类库Date/Calendar/JodaTime/LocalDateTime使用详解
本文目录 1. 不够好的开始 1.1 Date 日期时间类 1.2 Calendar 日历类 1.3 SimpleDateFormat 日期时间格式化 2. 足够好的JodaTime 3. JDK1.8 日期时间API
388 0
|
JavaScript 前端开发 Java
js前端转换Date或秒数的时间格式
版权声明:本文为博主原创文章,如需转载,请标明出处。 https://blog.csdn.net/alan_liuyue/article/details/78981647 简介   1.
1269 0