NSDate的简单用法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);
}
以上是关于NSDate的简单用法的主要内容,如果未能解决你的问题,请参考以下文章