NSDate的简单用法

NSDate  使用date方法获取的当前时间  是0时区的时间

     NSDate *date = [NSDate date];

     NSLog(@"%@",date);

     //如果想获取当前时区的当前时间 需要 + 8小时

     NSDate *now = [NSDate dateWithTimeIntervalSinceNow:8 * 60 * 60];

     NSLog(@"%@",now);

     

     //获取昨天此时时间

     NSDate *yesterday = [NSDate dateWithTimeIntervalSinceNow:8 * 60 * 60 - 24 * 60 * 60];

     NSLog(@"%@",yesterday);

     //获取明天此时的时间

     NSDate *tomorrow = [[NSDate alloc] initWithTimeIntervalSinceNow:8 * 60 * 60 + 24 * 60 *60];

     NSLog(@"%@",tomorrow);

     //获取两个时间的间隔

     //timeIntervalSinceDate:获取两个时间对象的时间间隔  单位: 秒

     NSTimeInterval interval = [tomorrow timeIntervalSinceDate:yesterday];

     NSLog(@"%.2f",interval / 60 / 60);

     

     //模拟简单的聊天

     //接收信息

     NSLog(@"你好!");

     //记录接收信息的时间

     NSDate *getMessage = [NSDate date];

     

     //发送信息

     //1.从键盘输入字符串

     char ch[100] = {0};

     scanf("%s",ch);

     //2.将C语言字符串转化为OC字符串

     NSString *message = [NSString stringWithUTF8String:ch];

     //记录发送消息的时间

     NSDate *sendMessage = [NSDate date];

     

     //获取两次信息的时间间隔

     NSTimeInterval interval1 = [sendMessage timeIntervalSinceDate:getMessage];

     

     if (interval1< 60) {

       NSLog(@"刚刚..");

     }else if (interval1 > 60&& interval< 60 * 60){

       NSLog(@"%.f分钟之前",interval1 / 60);

     }

     NSLog(@"%@",message);

     

     //获取当前时间

     NSDate *date1 = [NSDate date];

     //NSDateFormatter  日期格式类 控制日期转化的格式'

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

     

     //设置时区

     //[NSTimeZone localTimeZone] 获取当地的时区

     [formatter setTimeZone:[NSTimeZone localTimeZone]];

     

     //设置日期格式风格

     [formatter setDateStyle:NSDateFormatterMediumStyle];

     

     //设置时间风格

     [formatter setTimeStyle:(NSDateFormatterFullStyle)];

     

     //通过创建的日期格式 将NSDate  转化为 NSString

     NSString *dateStr = [formatter stringFromDate:date1];

     NSLog(@"%@",dateStr);

     

     //自定义日期格式类

     //格式类对象

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

     

     //设置时区

     [myFormatter setTimeZone:[NSTimeZone localTimeZone]];

     

     //自定义日期 时间 格式

     //yyyy代表年 MM代表月 dd代表日

     //HH(hh)代表 小时 二十四小时制(十二小时制)

     //EEEE  星期

     [myFormatter setDateFormat:@"yyyy-MM-dd hh:mm:ss EEEE OOOO"];

     

     //转化

     NSString *dateStr1 = [myFormatter stringFromDate:date];

     NSLog(@"%@",dateStr1);

     

     //将日期字符串转化为日期对象

     //设置日期格式串 必须,一定要和日期字符串形式上一模一样

     //@"2015年1月30日 11:47"

     //1.创建日期格式类对象

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

     //2.设置时区

     [formatter1 setTimeZone:[NSTimeZone localTimeZone]];

     //设置日期 时间 格式

     [formatter1 setDateFormat:@"yyyy年MM月dd日 HH:mm"];

     //4.转化

     NSDate *date2 = [formatter dateFromString:@"2015年1月30日 11:47"];

     NSLog(@"%@",date2);

   

     //将字符串@“2015013102318”转换为NSDate对象

     //1.创建日期格式类对象

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

     

     //2.设置格式

     [formatter2 setTimeZone:[NSTimeZone localTimeZone]];

     [formatter2 setDateFormat:@"yyyyMMddhhmmss"];

     

     //3.转化

     NSDate *date3 = [formatter dateFromString:@"20150131023108"];

     NSLog(@"%@",date3);

     

     }

原文地址:https://www.cnblogs.com/liumu/p/5243837.html