zoukankan      html  css  js  c++  java
  • iOS阶段学习第15天笔记(NSDate操作)

    iOS学习(OC语言)知识点整理

     

    一、OC关于NSDate类的操作实例代码

     

     1 //默认直接显示对象,显示的是格林威治时间       
     2 //获取当前日期时间的实例方法     
     3 NSDate *date1=[[NSDate alloc]init];    
     4 NSLog(@"date1:%@",date1);    
     5 
     8 //获取当前日期时间的方法二:类方法    
     9 NSDate *date2=[NSDate date];   
    10 NSLog(@"date2:%@",date2);  
    11  
    12 //获取从1970年1月1日00:00到date2的秒数       
    13 NSTimeInterval interval= [date2 timeIntervalSince1970];  
    
    12 //循环操作为了体现时间差    
    13 for(int i=0;i<10000;i++){}   
    14 //计算两个时间差(秒数)     
    15 interval=[date2 timeIntervalSinceDate:date1];  
    16    
    17 //date2距现在的时间差      
    18 interval=[date1 timeIntervalSinceNow];       
    19 NSLog(@"%f",interval);   
    20             
    21 //实例方法:得到date2的后一天的时间对象    
    22 NSDate *date3=[date2 dateByAddingTimeInterval:24*3600];       
    23 NSLog(@"date3:%@",date3); 
    24 
    25 //类方法:得到距date2多少秒后的一个日期时间对象     
    26 NSDate *date4=[NSDate dateWithTimeInterval:24*3600 sinceDate:date2];     
    27 NSLog(@"date4:%@",date4);       
    28 
    29 //得到距现在多少秒后的一个日期时间对象      
    30 NSDate *date5=[NSDate dateWithTimeIntervalSinceNow:3*24*3600];   
    31 NSLog(@"date5:%@",date5);     
    32 
    33 //获取将来的一个日期时间对象       
    34 NSDate *date6=[NSDate distantFuture];        
    35 NSLog(@"date6:%@",date6);     
    36 
    37 //获取过去的一个日期时间对象    
    38 NSDate *date7=[NSDate distantPast];       
    39 NSLog(@"date7:%@",date7);       
    40 
    41 //对日期时间对象做格式化操作的类      
    42 NSDateFormatter *format=[[NSDateFormatter alloc]init];     
    43 //设置日期的样式     
    44 [format setDateStyle:NSDateFormatterMediumStyle];    
    45 //设置时间的样式      
    46 [format setTimeStyle:NSDateFormatterMediumStyle];
    47 NSString *styledate= [format stringFromDate:date1]; 
    48 NSLog(@"styledate:%@",styledate);
    47 //自定义格式字符串   
    48 [format setDateFormat:@"yyyy-MM-dd hh:mm:ss"]; 
    49 //将NSDate对象转换为字符串   
    50 NSString *sdate=[format stringFromDate:date1];        
    51 NSLog(@"sdate:%@",sdate);        
    52   
    53 NSString *str=@"2015-07-10 12:10:30";    
    54 //将字符串形式的日期时间转换为NSDate对象(保证字符串的形式与format中的形式一致)       
    55 NSDate *date8=[format dateFromString:str];        
    56 NSLog(@"date8:%@",date8);  
    57 
    58 NSDate *newdate=[NSDate date];
    59 //时间格式化字符串
    60 NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
    61 [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss MMM eee a"];
    62 NSString *strdate = [formatter stringFromDate:newdate];
    63 NSLog(@"%@",strdate);
    64 
    65 //时间字符串转换为时间类型
    66 NSDateFormatter * formatter2 = [[NSDateFormatter alloc]init];
    67 NSString * nstr =@"2014年05月01日 10点23分18秒";
    68 [formatter2 setDateFormat:@"yyyy年MM月dd日  hh点mm分ss秒"];
    69 NSDate * date3 = [formatter2 dateFromString:nstr];
    70 //解决时分秒转换不准确问题
    71 NSTimeZone *fzone = [NSTimeZone systemTimeZone];
    72 NSInteger finterval = [fzone secondsFromGMTForDate: date3];
    73 NSDate *fDate = [date3  dateByAddingTimeInterval: finterval];
    74 NSLog(@"%@",fDate);
    75 
    76 //获取系统时间的年月日时分秒部分
    77 NSCalendar *cal = [NSCalendar currentCalendar];
    78 //Mac 10.10以前的系统使用 NSYearCalendarUnit
    79 unsigned int unitFlags = NSCalendarUnitYear |NSCalendarUnitMonth|NSCalendarUnitDay|NSCalendarUnitHour|NSCalendarUnitMinute|NSCalendarUnitSecond;
    80 NSDateComponents *d = [cal components:unitFlags fromDate:newdate];
    81 NSLog(@"年=%ld",[d year]);
    82 NSLog(@"月=%ld",[d month]);
    83 NSLog(@"日=%ld",[d day]);
    84 NSLog(@"时=%ld",[d hour]);
    85 NSLog(@"分=%ld",[d minute]);
    86 NSLog(@"秒=%ld",[d second]);
    87 
    88 //将传入时间字符串转换成需要的时间格式
    89 NSString *dateStr=@"2013-08-13 20:28:40";
    90 NSDateFormatter *format=[[NSDateFormatter alloc] init];
    91 [format setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
    92 NSDate *fromdate=[format dateFromString:dateStr];
    93 //解决时分秒转换不准确问题
    94 NSTimeZone *fromzone = [NSTimeZone systemTimeZone];
    95 NSInteger frominterval = [fromzone secondsFromGMTForDate: fromdate];
    96 NSDate *fromDate = [fromdate  dateByAddingTimeInterval: frominterval];
    97 NSLog(@"fromdate=%@",fromDate); 
    98  
  • 相关阅读:
    洛谷P1265 公路修建(Prim)
    洛谷P1144 最短路计数(SPFA)
    洛谷P1198 [JSOI2008]最大数(BZOJ.1012 )
    洛谷P2879 [USACO07JAN]区间统计Tallest Cow
    洛谷P1886 滑动窗口(POJ.2823 Sliding Window)(区间最值)
    洛谷P2105 K皇后
    洛谷P3373 [模板]线段树 2(区间增减.乘 区间求和)
    洛谷P2982 [USACO10FEB]慢下来Slowing down(线段树 DFS序 区间增减 单点查询)
    洛谷P1784 数独
    洛谷 P2574 XOR的艺术(线段树 区间异或 区间求和)
  • 原文地址:https://www.cnblogs.com/ChinaKingKong/p/4622956.html
Copyright © 2011-2022 走看看