当前位置: 首页 > news >正文

NSDate-日期类nbsp;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];

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);



转自:http://blog.csdn.net/qq_31810357

相关文章:

  • UIController子类控件nbsp;UI_06
  • 编程珠玑--旋转算法
  • 基本排序算法二
  • HDU - 1455 Sticks(深搜+剪枝)
  • perl 递归两例
  • Tomcat学习总结(3)——Tomcat优化详细教程
  • memchached你知道和不知道的事
  • PHP教程,Linux教程光盘
  • C++走向远洋——51(数组类运算的实现)
  • C++模板的特化详解(函数模版特殊,类模版特化)
  • java读取文件中的内容写入excel中
  • 怎样解决asp.net.mvc上传附件超过长度问题?
  • 开发中的[绝对路径]与[相对路径]
  • Eclipse debug时 鼠标移动到变量时 自动显示变量只
  • SVM-非线性支持向量机及SMO算法
  • 时间复杂度分析经典问题——最大子序列和
  • [case10]使用RSQL实现端到端的动态查询
  • el-input获取焦点 input输入框为空时高亮 el-input值非法时
  • laravel 用artisan创建自己的模板
  • php ci框架整合银盛支付
  • STAR法则
  • thinkphp5.1 easywechat4 微信第三方开放平台
  • Work@Alibaba 阿里巴巴的企业应用构建之路
  • 从tcpdump抓包看TCP/IP协议
  • 高性能JavaScript阅读简记(三)
  • 官方解决所有 npm 全局安装权限问题
  • 解决jsp引用其他项目时出现的 cannot be resolved to a type错误
  • 排序算法学习笔记
  • 前言-如何学习区块链
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • 如何抓住下一波零售风口?看RPA玩转零售自动化
  • 小程序、APP Store 需要的 SSL 证书是个什么东西?
  • Salesforce和SAP Netweaver里数据库表的元数据设计
  • ​iOS实时查看App运行日志
  • ​人工智能书单(数学基础篇)
  • ​学习一下,什么是预包装食品?​
  • !! 2.对十份论文和报告中的关于OpenCV和Android NDK开发的总结
  • # 数据结构
  • # 数论-逆元
  • # 学号 2017-2018-20172309 《程序设计与数据结构》实验三报告
  • (1)Nginx简介和安装教程
  • (2021|NIPS,扩散,无条件分数估计,条件分数估计)无分类器引导扩散
  • (4) openssl rsa/pkey(查看私钥、从私钥中提取公钥、查看公钥)
  • (java版)排序算法----【冒泡,选择,插入,希尔,快速排序,归并排序,基数排序】超详细~~
  • (二)构建dubbo分布式平台-平台功能导图
  • (每日持续更新)jdk api之StringBufferInputStream基础、应用、实战
  • (一)C语言之入门:使用Visual Studio Community 2022运行hello world
  • (一)Linux+Windows下安装ffmpeg
  • (中等) HDU 4370 0 or 1,建模+Dijkstra。
  • .form文件_SSM框架文件上传篇
  • .NET CF命令行调试器MDbg入门(一)
  • .net core 6 redis操作类
  • .net web项目 调用webService
  • .NET 设计模式—简单工厂(Simple Factory Pattern)
  • .NET 中使用 Mutex 进行跨越进程边界的同步