<span style="font-size:24px;"><span style="font-size:18px;">//1.创建日期对象
//创建的NSDate对象,获得的永远是0时区时间,假设要是求东八区时间,就加8个小时
NSDate *date = [NSDate date];
NSLog(@"%@",date); //创建明天此时的日期(时间间隔都是以秒为单位计算的)
NSDate *tomorrow = [NSDate dateWithTimeIntervalSinceNow:24*60*60];
NSLog(@"%@",tomorrow); //创建昨天此时的日期(- 表示从如今開始向前面算起)
NSDate *yesterday = [NSDate dateWithTimeIntervalSinceNow:-24*60*60];
NSLog(@"%@",yesterday); //获取两个日期的时间间隔(timeInterval 是对双精度类型的又一次定义,所以输出的时间要用%g,时间价格也是按秒来计算的)
NSTimeInterval timeInterval = [tomorrow timeIntervalSinceDate:yesterday];
NSLog(@"%g",timeInterval / 60 / 60 / 24); //比較日期的早晚
//(1)比較两个日期中较早的日期(返回值类型为NSDate)
NSDate *earlerDate = [yesterday earlierDate:tomorrow];
NSLog(@"%@",earlerDate); //(2)比較两个日期中较晚的日期
NSDate *laterDate = [yesterday laterDate:tomorrow];
NSLog(@"%@",laterDate); //(3)比較两个日期(返回值类型为枚举类型,是拿第一个參数来减第二个參数的值,枚举值为 -1,0,1)
NSComparisonResult result = [yesterday compare:tomorrow];
NSLog(@"%ld",result); //时间间隔的练习:假设一个固定的时间到如今的时间在60秒以内,输出"刚刚",假设在"60 - 3600"输出"多少分钟前",假设在"3600 - 3600*24",输出"在多少小时前",假设在大于"3600*24"输出多少天前
NSDate *date1 = [NSDate date];
NSDate *date2 = [NSDate dateWithTimeIntervalSinceNow:100];
NSTimeInterval time = [date2 timeIntervalSinceDate:date1];
if (time > 0 && time <= 60) {
NSLog(@"刚刚");
}else if (time <= 3600){
NSLog(@"%d分钟前",(int)(time / 60));
}else if (time <= 3600 * 24){
NSLog(@"%d小时前",(int)(time / 60 / 60));
}else{
NSLog(@"%d天前",(int)(time / 60 / 60 /24));
} //NSDateFormatter日期格式类
//作用:将日期以一定的格式进行转换(转换为字符串),另外也可将日期格式串转换为NSDate对象
NSDate *date3 = [NSDate date];//创建当前的日期对象
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];//创建日期格式对象
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:SS"];//为对象设置日期的格式
//指定日期格式
//HH 表示24小时制 hh表示十二小时制
//MM 表示月份 mm 表示分钟
//dd 表示当月的天数 DD表示当天处于本年第几天
//ss 表示秒数
//假设年份给两个yy,则仅仅显示年份的后两位,假设给其它个数的y,都是显示完整的年份.
//比如:MM等 假设给两位,则月份假设是一位时,前面补0.
[formatter setDateStyle:NSDateFormatterFullStyle];//设置日期输出的风格
[formatter setTimeStyle:NSDateFormatterFullStyle];//设置时间输出的风格
NSString *dateStr = [formatter stringFromDate:date3];
NSLog(@"%@",dateStr); //将日期格式串转化为NSDate对象@"2008-08-08 20:08:08"
NSString *dateStr1 = @"2008-08-08 20:08:08";
//创建日期格式化对象
NSDateFormatter *formatter1 = [[NSDateFormatter alloc]init];
//设置日期格式(一定要和日期格式串中日期的格式保持一致).
[formatter1 setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
//将格式字符串转换为NSData对象
NSDate *date4 = [formatter1 dateFromString:dateStr1];
NSLog(@"%@",date4);
</span></span>

各位有手机的能够能够用手机打开这个网址,没事的时候能够赚点零花钱   http://m.qianka.com/?u=27101327

NSDate 类的总结,全面基础的更多相关文章

  1. 前端工程师面试问题归纳(一、问答类html/css/js基础)

    一.参考资源 1.前端面试题及答案整理(一) 2.2017年前端面试题整理汇总100题 3.2018最新Web前端经典面试试题及答案 4.[javascript常见面试题]常见前端面试题及答案 5.W ...

  2. iOS Foundation框架 -4.NSDate类的简单用法

    NSDate为日期时间类对象,简单操作: 注意:直接NSLog输出NSDate对象,默认是以0时区为标准,因此会比北京时间少8小时 1.将Date格式转换为自定义格式的字符串格式 // 自定义Date ...

  3. Java---类反射(1)---类反射入门和基础

    什么是类反射 ☆什么是反射 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方 ...

  4. java类的继承(基础)

    ---恢复内容开始--- 这篇随笔和大家讲讲java中类的继承是什么?希望对你们有所帮助. 目录 一.java继承是什么? 二.为什么使用java继承 三.java继承的实现 1.1  java继承的 ...

  5. 抽象鸡类 abstract(抽象) base(基础) class(类型)

    # --> ''' class interface 接口: 建立关联的桥梁, 方便管理代码 (python中没有接口语法) 接口类: 用来定义功能的类 为继承它的子类提供功能 该类的功能法方法一 ...

  6. string类(一、string基础)

    string基础 1.字符串常量具备字符串池特性. 字符串常量在创建前,首先在字符串池中查找是否存在相同文本. 如果存在,则直接返回该对象引用:若不存在,则开辟空间存储. 目的:提高内存利用率. 2. ...

  7. python3 速查参考- python基础 8 -> 面向对象基础:类的创建与基础使用,类属性,property、类方法、静态方法、常用知识点概念(封装、继承等等见下一章)

    基础概念 1.速查笔记: #-- 最普通的类 class C1(C2, C3): spam = 42 # 数据属性 def __init__(self, name): # 函数属性:构造函数 self ...

  8. Java类与对象的基础学习

    1. 请输入并运行以下代码,得到什么结果? public class Test{ public static void main(String args[]){ Foo obj1=new Foo(); ...

  9. java类和对象的基础(笔记)

    在Java类的设计中,有时希望一个类在任何时候只能有一个实例.这时可以将该类设计为单例模式(singleton).要将一个类设计为单例模式,需要把类的构造方法的访问修饰符声明为private,然后在类 ...

随机推荐

  1. MAC删除目录下的“.svn”文件的方法

    http://bbs.feng.com/read-htm-tid-7803070.html MAC删除目录的“.svn”文件:打开终端,进到所在的目录,然后出入一下代码find . -name &qu ...

  2. Android Sshd使用

    1. 介绍 因为某些原因, 笔者需要在android上开发,  使用adb比较麻烦, 于是想使用sshd. 推荐的软件是openssh, 其他选择有dropbear, mosh.当然还有其他选择, 如 ...

  3. nvm: node版本管理工具

    安装nvm   curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.29.0/install.sh | bash node 版本切 ...

  4. 牛客网 牛客练习赛7 B.购物-STL(priority_queue)

    B.购物 时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 32768K,其他语言65536K64bit IO Format: %lld 题目描述 在遥远的东方,有一家糖果专卖店 这家糖果 ...

  5. (9)oracle 表的基本查询

    转到进阶查询 查看表的结构 desc  表名; desc student; 查看整张表的数据 select * from 表名; //查整张表很耗时间 select* from student; 查看 ...

  6. 牛客练习赛16 F 选值【二分/计数】

    链接:https://www.nowcoder.com/acm/contest/84/F 来源:牛客网 题目描述 给定n个数,从中选出三个数,使得最大的那个减最小的那个的值小于等于d,问有多少种选法. ...

  7. UVA 10129 Play on Words (欧拉通路)

    本文链接:http://www.cnblogs.com/Ash-ly/p/5398627.html 题意: 输入N(N <= 100000)个单词,是否可以把所有这些单词排成一个序列,使得每个单 ...

  8. HDU6383 2018 “百度之星”程序设计大赛 - 初赛(B) 1004-p1m2 (二分)

    原题地址 p1m2 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total ...

  9. HDU-6315 Naive Operations//2018 Multi-University Training Contest 2___1007 (线段树,区间除法)

    原题地址 Naive Operations Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 502768/502768 K (Java/ ...

  10. spoj 375 Query on a tree (树链剖分)

    Query on a tree You are given a tree (an acyclic undirected connected graph) with N nodes, and edges ...