【OC加强】NSDate的使用方法——日期时间在实际开发中比較有用

时间:2021-01-19 22:37:33

(1)日期的最主要知识点就是日期转换成字符串格式化输出,相反就是依照某个格式把字符串转换成日期。

(2)一般关于时区的设置非常少用到,仅仅要了解就可以。

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {

    @autoreleasepool {
//获取当前时间。日期正确。时间错误,是由于时区的设置问题,可是格式化输出用HH:mm:ss貌似是正常的
NSDate *date1=[NSDate date];
NSLog(@"%@",date1);
//想获得昨天此时此刻的时间,则须要用到减法,先把秒算出来,然后减去就可以,不多addTimeInterval方法已经被禁止使用了
//NSTimeInterval *oneDay=24*60*60;
//NSDate *yesterday1=[date1 addTimeInterval:-oneDay]; //比較两个时间
NSDate *date2=[NSDate date];
[date1 isEqualToDate:date2]; //取时间较早的那个
[date2 earlierDate:date1]; //取较晚的那个
[date2 laterDate:date1]; //格式化日期。事实上就是利用一个日期格式化对象把日期转换成字符串了
//先定义一个NSDateFormatter对象。然后给这个格式对象定义成自己想要的格式,然后用它去转化其它日期就可以
NSDateFormatter *format1=[[NSDateFormatter alloc]init];
[format1 setDateFormat:@"yyyy/MM/dd HH:mm:ss"];
NSString *str1=[format1 stringFromDate:date1];
NSLog(@"%@",str1); //把字符串转换成日期
//和上边相似。仍然须要日期格式化对象,可是调用的方法从stringFromDate变成
//由于时区设置的问题。这个日期被减去了一天
NSDateFormatter *format2=[[NSDateFormatter alloc]init];
[format2 setDateFormat:@"yyyy/MM/dd"];
NSString *str2=@"2014/10/11";
NSLog(@"%@",[format2 dateFromString:str2]); //直接输出当前时间date1时又时区错误。而用格式化后就正常了
NSDateFormatter *format3=[[NSDateFormatter alloc]init];
[format3 setDateFormat:@"yyyy/MM/dd HH:mm:ss"];
//下面语句能够省略,假设把GTM变成UTC的话,就会存在时差问题,究竟是哪一种。届时依据实际情况改动
[format3 setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"GTM"]];
NSLog(@"%@",[format3 stringFromDate:date1]);
//当然,我们能够手动设置时区
}
return 0;
}

【OC加强】NSDate的使用方法——日期时间在实际开发中比較有用的更多相关文章

  1. Java日期时间API系列8-----Jdk8中java&period;time包中的新的日期时间API类的LocalDate源码分析

    目录 0.前言 1.TemporalAccessor源码 2.Temporal源码 3.TemporalAdjuster源码 4.ChronoLocalDate源码 5.LocalDate源码 6.总 ...

  2. Java日期时间API系列19-----Jdk8中java&period;time包中的新的日期时间API类,ZonedDateTime与ZoneId和LocalDateTime的关系,ZonedDateTime格式化和时区转换等。

    通过Java日期时间API系列6-----Jdk8中java.time包中的新的日期时间API类中时间范围示意图:可以很清晰的看出ZonedDateTime相当于LocalDateTime+ZoneI ...

  3. Java日期时间API系列11-----Jdk8中java&period;time包中的新的日期时间API类,使用java8日期时间API重写农历LunarDate

    通过Java日期时间API系列7-----Jdk8中java.time包中的新的日期时间API类的优点,java8具有很多优点,现在网上查到的农历转换工具类都是基于jdk7及以前的类写的,下面使用ja ...

  4. Java日期时间API系列12-----Jdk8中java&period;time包中的新的日期时间API类,日期格式化,常用日期格式大全

    通过Java日期时间API系列10-----Jdk8中java.time包中的新的日期时间API类的DateTimeFormatter, 可以看出java8的DateTimeFormatter完美解决 ...

  5. Java日期时间API系列30-----Jdk8中java&period;time包中的新的日期时间API类,减少时间精度方法性能比较和使用。

    实际使用中,经常需要使用不同精确度的Date,比如保留到天 2020-04-23 00:00:00,保留到小时,保留到分钟,保留到秒等,常见的方法是通过格式化到指定精确度(比如:yyyy-MM-dd) ...

  6. Java日期时间API系列6-----Jdk8中java&period;time包中的新的日期时间API类

    因为Jdk7及以前的日期时间类的不方便使用问题和线程安全问题等问题,2005年,Stephen Colebourne创建了Joda-Time库,作为替代的日期和时间API.Stephen向JCP提交了 ...

  7. Java日期时间API系列7-----Jdk8中java&period;time包中的新的日期时间API类的特点

    1.不变性 新的日期/时间API中,所有的类都是不可变的,这对多线程环境有好处. 比如:LocalDateTime 2.关注点分离 新的API将人可读的日期时间和机器时间(unix timestamp ...

  8. IOS开发之格式化日期时间的使用 &amp&semi;&amp&semi; 编程中常见问题

    今天在做一个有关时间的一些开发的时候,遇见了一写问题,反正来说既是很简单的问题,但毕竟用了我一些时间去调错误,遂记录之. 本来是想用 NSDateFormat 来转换一下服务器返回的时间,然后在客户端 ...

  9. Java日期时间API系列13-----Jdk8中java&period;time包中的新的日期时间API类,时间类转换,Date转LocalDateTime,LocalDateTime转Date等

    从前面的系列博客中可以看出Jdk8中java.time包中的新的日期时间API类设计的很好,但Date由于使用仍非常广泛,这就涉及到Date转LocalDateTime,LocalDateTime转D ...

随机推荐

  1. VS2010 支持 CSS3

    在安装Standards Update for VS2010 SP1后,VS2010中没有CSS3.0问题,以下是我的解决方法 1.首先去官网下载 CSS 3 Intellisense Schema ...

  2. http知识

    http请求的过程:客户端发起请求,创建端口:http服务器在端口监听客户端请求:http服务器向客户端返回状态和内容. 浏览器搜索自身的DNS缓存-->搜索操作系统自身的DNS缓存(浏览器没有 ...

  3. &lt&semi;算法竞赛入门经典&gt&semi; 第8章 贪心&plus;递归&plus;分治总结

    虽然都是算法基础,不过做了之后还是感觉有长进的,前期基础不打好后面学得很艰难的,现在才慢慢明白这个道理. 闲话少说,上VOJ上的专题训练吧:http://acm.hust.edu.cn/vjudge/ ...

  4. HDOJ 2089 不要62(打表)

    Problem Description 杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer). 杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来 ...

  5. Eclipse无提示的解决办法 和 内容辅助技巧

    Eclipse无提示的解决办法 和 内容辅助技巧 一.若发现内容辅助失效没有提示 下面是解决办法,现贴出来与大家共享:       1.菜单window->Preferences->Jav ...

  6. 【Python初学】深copy&amp&semi;浅copy

    在python中,对象赋值实际上是对象的引用.当创建一个对象,然后把它赋给另一个变量的时候,python并没有拷贝这个对象,而只是拷贝了这个对象的引用. 1. copy.copy 浅拷贝 只拷贝父对象 ...

  7. Spring事务管理源码分析

    Spring事务管理方式 依据Spring.xsd文件可以发现,Spring提供了advice,annotation-driven,jta-transaction-manager3种事务管理方式.详情 ...

  8. C语言:min和max头文件

    转自:http://www.cppblog.com/jince/archive/2010/09/14/126600.html min和max头文件 虽然说求最大值最小值函数在哪个头文件下并不是非常重要 ...

  9. ZooKeeper 分布式共享锁的实现

    原创播客,如需转载请注明出处.原文地址:http://www.cnblogs.com/crawl/p/8352919.html ------------------------------------ ...

  10. hwy题目选讲

    \[ f(n) = n/5 + f(n/5)\\ g(n) = (n\mod10)! * g(n/5)\mod 5\\ ans = f(n)*inv(2^g(n))\\ \]