【IOS学习笔记】Swift iOS 日期操作:NSDate、NSDateFormatter(转载)

转载自:http://blog.csdn.net/jinnchang/article/details/44592801

1、日期(NSDate)

[objc] view plaincopy

  1. // 1、初始化
  2. // 初始化一个当前时刻对象
  3. var now = NSDate()
  4. // 初始化一个明天当前时刻对象
  5. var tomorrow = NSDate(timeIntervalSinceNow: 24*60*60)
  6. // 初始化一个昨天当前时刻对象
  7. var yestoday = NSDate(timeInterval: -24*60*60, sinceDate: now)
  8. // 初始化一个 2001-01-01 08:00:00 1小时后的时刻对象
  9. var date1 = NSDate(timeIntervalSinceReferenceDate: 3600)
  10. // 初始化一个 1970-01-01 08:00:00 1小时后的时刻对象
  11. var date2 = NSDate(timeIntervalSince1970: 3600)
  12. // 2、获取时间描述
  13. var dateDescription = now.description
  14. // 3、获取时间间隔
  15. // 获取今天到明天的时间间隔
  16. var interval1 = tomorrow.timeIntervalSinceDate(now)
  17. // 获取今天到明天的时间间隔
  18. var interval2 = tomorrow.timeIntervalSinceNow
  19. // 获取 2001-01-01 08:00:00 到今天的时间间隔
  20. var interval3 = now.timeIntervalSinceReferenceDate
  21. // 获取 1970-01-01 08:00:00 到今天的时间间隔
  22. var interval5 = now.timeIntervalSince1970
  23. // 4、随机返回一个不可能达到的未来时间、过去时间
  24. date1 = NSDate.distantFuture() as NSDate
  25. date2 = NSDate.distantPast() as NSDate
  26. // 5、时间相加
  27. // 返回一个后天当前时刻对象(在明天基础上再加上一天的时间)
  28. var theDayAfterTomorrow = tomorrow.dateByAddingTimeInterval(24*60*60)
  29. // 6、时间比较
  30. // 比较两个时间对象是否相同返回布尔值(由于精度问题,isTheSameDate 为 false)
  31. var isTheSameDate = theDayAfterTomorrow.isEqualToDate(NSDate(timeInterval: 2*24*60*60, sinceDate: now))
  32. // 返回两个时间中较早的一个时间
  33. var earlierOne = now.earlierDate(tomorrow)
  34. // 返回两个时间中较晚的一个时间
  35. var laterOne = now.laterDate(tomorrow)
  36. // 比较两个时间对象是否相同并返回 NSComparisonResult 值
  37. var compareResult = now.compare(tomorrow)

2、日期转换(NSDateFormatter)

[objc] view plaincopy

  1. // 方式1:用已有日期格式进行转换
  2. var dateFormatter1 = NSDateFormatter()
  3. dateFormatter1.dateStyle = NSDateFormatterStyle.MediumStyle
  4. dateFormatter1.timeStyle = NSDateFormatterStyle.MediumStyle
  5. var now = NSDate()
  6. // Date 转 String
  7. var nowString = dateFormatter1.stringFromDate(now)      // Mar 24, 2015, 9:00:00 PM
  8. // String 转 Date
  9. now = dateFormatter1.dateFromString(nowString)!
  10. // 方式2:自定义日期格式进行转换
  11. var dateFormatter2 = NSDateFormatter()
  12. dateFormatter2.dateFormat = "yyyy-MM-dd HH:mm:ss"
  13. // Date 转 String
  14. nowString = dateFormatter2.stringFromDate(now)          // 2015-03-24 21:00:00
  15. // String 转 Date
  16. now = dateFormatter2.dateFromString(nowString)!

3、扩展

NSDateFormatter 中提供了修改月份、星期等字符的方法,具体有兴趣的话可以参考官方文档。
关于日历(NSCalendar)、日期组件(NSDateComponents)的详细介绍后续补充。

4、结语

NSDate Class Reference

NSDateFormatter Class Reference

时间: 2024-12-24 16:53:13

【IOS学习笔记】Swift iOS 日期操作:NSDate、NSDateFormatter(转载)的相关文章

iOS: 学习笔记, Swift与Objective-C混用简明教程(转载)

Swift与Objective-C混用简明教程 转载自:https://github.com/lifedim/SwiftCasts/tree/master/000_mix_swift_objc 我想很多iOS开发者在知道Swift后,心中最大的问题就是如何将Swift应用到原有项目之中.下面我将简要介绍这2种语言的混用方法,内容参考自官方文档 Using Swift with Cocoa and Objective-C ,推荐大家阅读. 在Swift中使用Objective-C类 在Xcode6

iOS: 学习笔记, Swift操作符定义

Swift操作符可以自行定义, 只需要加上简单的标志符即可. @infix 中置运算. 如+,-,*,/运算 @prefix 前置运算. 如- @postfix 后置运算. a++, a-- @assignment 赋值运算. +=, -=, --a, ++a // // main.swift // SwiftBasic // // Created by yao_yu on 14-7-27. // Copyright (c) 2014年 yao_yu. All rights reserved.

iOS: 学习笔记, Swift与Objective-C混用总结

Swift与Objective-C交互总结 在Swift中使用Objective-C(简单) 在创建OjbC文件时, XCode会提示创建XXX-Bridging-Header.h文件, 创建之 在创建的XXX-Bridging-Header.h上导入需要引入到Swift中的Objective-C类 #import "Need.h" 然后在Swfit中就能使用它了 在Ojbective-C中使用Swift(非常简单) 在相应的OjbC文件中加入 #import "XXX-Sw

iOS: 学习笔记, swift扩展

// // YYExtension.swift // // Created by yao_yu on 14-7-18. // Copyright (c) 2014年 yao_yu. All rights reserved. // import Foundation extension String{ func strip() -> String{ return stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineC

iOS学习笔记(八)——iOS网络通信http之NSURLConnection

转自:http://blog.csdn.net/xyz_lmn/article/details/8968182 移动互联网时代,网络通信已是手机终端必不可少的功能.我们的应用中也必不可少的使用了网络通信,增强客户端与服务器交互.这一篇提供了使用NSURLConnection实现http通信的方式. NSURLConnection提供了异步请求.同步请求两种通信方式. 1.异步请求 iOS5.0 SDK NSURLConnection类新增的sendAsynchronousRequest:queu

iOS: 学习笔记, Swift与C指针交互(译)

Swift与C指针交互 Objective-C和C API经常须要使用指针. 在设计上, Swift数据类型能够自然的与基于指针的Cocoa API一起工作, Swift自己主动处理几种经常使用的指针參数. 在本文中, 我们将看到C中的指针參数怎样与Swift中的变量,数组,字符串一起工作. 指针作为输入/输出參数 C和Objective-C不支持多个返回值, 所以Cocoa API常常使用指针传递附加參数到函数. Swift同意把指针參数看成[inout]參数, 所以你能够用相同的&语法传递一

iOS: 学习笔记, Swift名字空间

在Swift中, 名字空间是用class(extension)嵌套来实现的, 以下用一个简单样例来进行展示 // // main.swift // SwiftNameSpace // // Created by yao_yu on 14-8-1. // Copyright (c) 2014年 yao_yu. All rights reserved. // // Swift名字空间使用实例 // import Foundation //定义顶层名字空间 class YY{ } //在YY名字空间中

【iOS学习笔记】iOS中的MVC设计模式

模型-视图-控制器(Model-View-Controller,MVC)是Xerox PARC在20世纪80年代为编程语言Smalltalk-80发明的一种软件设计模式,至今已广泛应用于用户交互应用程序中.在iOS开发中MVC的机制被使用的淋漓尽致,充分理解iOS的MVC模式,有助于我们程序的组织合理性. 模型对象模型对象封装了应用程序的数据,并定义操控和处理该数据的逻辑和运算.例如,模型对象可能是表示游戏中的角色或地址簿中的联系人.用户在视图层中所进行的创建或修改数据的操作,通过控制器对象传达

【转】iOS学习笔记(八)——iOS网络通信http之NSURLConnection

移动互联网时代,网络通信已是手机终端必不可少的功能.我们的应用中也必不可少的使用了网络通信,增强客户端与服务器交互.这一篇提供了使用NSURLConnection实现http通信的方式. NSURLConnection提供了异步请求.同步请求两种通信方式. 1.异步请求 iOS5.0 SDK NSURLConnection类新增的sendAsynchronousRequest:queue:completionHandler:方法,从而使iOS5支持两种异步请求方式.我们先从新增类开始. 1)se

ios学习笔记图片+图片解释(c语言 oc语言 ios控件 ios小项目 ios小功能 swift都有而且笔记完整喔)

下面是目录其中ios文件夹包括了大部分ios控件的介绍和演示,swift的时完整版,可以学习完swift(这个看的是swift刚出来一周的视频截图,可能有点赶,但是完整),c语言和oc语言的也可以完整的学习完所需知识,,其他文件夹的内容如其名说描述一样 没张图片都有文字说明,可以需要该功能的时候搜索一下然后打开图片就可以学习到 网盘下载地址:需要的话给留言我再传上去 http://www.cnblogs.com/langtianya原创 ios学习笔记图片+图片解释(c语言 oc语言 ios控件