Swift iOS 日期操作:NSDate、NSDateFormatter
1、日期(NSDate)
- // 1、初始化
- // 初始化一个当前时刻对象
- var now = NSDate()
- // 初始化一个明天当前时刻对象
- var tomorrow = NSDate(timeIntervalSinceNow: 24*60*60)
- // 初始化一个昨天当前时刻对象
- var yestoday = NSDate(timeInterval: -24*60*60, sinceDate: now)
- // 初始化一个 2001-01-01 08:00:00 1小时后的时刻对象
- var date1 = NSDate(timeIntervalSinceReferenceDate: 3600)
- // 初始化一个 1970-01-01 08:00:00 1小时后的时刻对象
- var date2 = NSDate(timeIntervalSince1970: 3600)
- // 2、获取时间描述
- var dateDescription = now.description
- // 3、获取时间间隔
- // 获取今天到明天的时间间隔
- var interval1 = tomorrow.timeIntervalSinceDate(now)
- // 获取今天到明天的时间间隔
- var interval2 = tomorrow.timeIntervalSinceNow
- // 获取 2001-01-01 08:00:00 到今天的时间间隔
- var interval3 = now.timeIntervalSinceReferenceDate
- // 获取 1970-01-01 08:00:00 到今天的时间间隔
- var interval5 = now.timeIntervalSince1970
- // 4、随机返回一个不可能达到的未来时间、过去时间
- date1 = NSDate.distantFuture() as NSDate
- date2 = NSDate.distantPast() as NSDate
- // 5、时间相加
- // 返回一个后天当前时刻对象(在明天基础上再加上一天的时间)
- var theDayAfterTomorrow = tomorrow.dateByAddingTimeInterval(24*60*60)
- // 6、时间比较
- // 比较两个时间对象是否相同返回布尔值(由于精度问题,isTheSameDate 为 false)
- var isTheSameDate = theDayAfterTomorrow.isEqualToDate(NSDate(timeInterval: 2*24*60*60, sinceDate: now))
- // 返回两个时间中较早的一个时间
- var earlierOne = now.earlierDate(tomorrow)
- // 返回两个时间中较晚的一个时间
- var laterOne = now.laterDate(tomorrow)
- // 比较两个时间对象是否相同并返回 NSComparisonResult 值
- var compareResult = now.compare(tomorrow)
2、日期转换(NSDateFormatter)
- // 方式1:用已有日期格式进行转换
- var dateFormatter1 = NSDateFormatter()
- dateFormatter1.dateStyle = NSDateFormatterStyle.MediumStyle
- dateFormatter1.timeStyle = NSDateFormatterStyle.MediumStyle
- var now = NSDate()
- // Date 转 String
- var nowString = dateFormatter1.stringFromDate(now) // Mar 24, 2015, 9:00:00 PM
- // String 转 Date
- now = dateFormatter1.dateFromString(nowString)!
- // 方式2:自定义日期格式进行转换
- var dateFormatter2 = NSDateFormatter()
- dateFormatter2.dateFormat = "yyyy-MM-dd HH:mm:ss"
- // Date 转 String
- nowString = dateFormatter2.stringFromDate(now) // 2015-03-24 21:00:00
- // String 转 Date
- now = dateFormatter2.dateFromString(nowString)!
3、扩展
NSDateFormatter 中提供了修改月份、星期等字符的方法,具体有兴趣的话可以参考官方文档。
关于日历(NSCalendar)、日期组件(NSDateComponents)的详细介绍后续补充。
4、结语
NSDateFormatter Class Reference
Swift iOS 日期操作:NSDate、NSDateFormatter的更多相关文章
- Swift iOS 文件操作:沙盒(SandBox)、程序包(NSBundle)
1.沙盒机制介绍 iOS 中的沙盒机制(SandBox)是一种安全体系.每个 iOS 应用程序都有一个单独的文件系统(存储空间),而且只能在对应的文件系统中进行操作,此区域被称为沙盒.所有的非代码文件 ...
- NSDate 总结日期操作
IOS Object-c NSDate总结日期操作 //NSDate //1, 创建NSDate对象 NSDate *nowDate = [NSDate date]; NSLog(@"%@& ...
- Java与IOS日期格式
//JAVA日期格式 Date date = new Date(); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM- ...
- IOS NSDate NSDateFormatter 导致相差8小时
时间问题应该是所有编程语言都要处理的.详细学过php的同学知道,php中也会有相差8小时的问题,然而php可以非常方便的解决的,直接设置下就好了 我最近在学习IOS的过程中,发现IOS的日期处理也是个 ...
- iOS 日期处理 (Swift3.0 NSDate)
处理日期的常见情景 NSDate -> String & String -> NSDate 日期比较 日期计算(基于参考日期 +/- 一定时间) 计算日期间的差异 拆解NSDate ...
- NSDate常用的日期操作
// 当前时间创建NSDate NSDate *myDate = [NSDate date]; NSLog(@"myDate = %@",myDate); //从现在开始的24小时 ...
- IOS文件操作的两种方式:NSFileManager操作和流操作
1.常见的NSFileManager文件方法 -(NSData *)contentsAtPath:path //从一个文件读取数据 -(BOOL)createFileAtPath: path cont ...
- OC - 时间日期类NSDate
OC - 时间日期类NSDate //NSDate 时间日期类 NSDate 二进制数据流 { //1.获取当前时间 零时区的时间 //显示的是格林尼治的时间: 年-月-日 时:分:秒:+时区 NSD ...
- java 字符串操作和日期操作
一.字符串操作 创建字符串 String s2 = new String("Hello World"); String s1 = "Hello World"; ...
随机推荐
- dede list列表页和文章页分别使用if else
标签: dede 2015-01-25 19:33 755人阅读 评论(0) 收藏 举报 分类: [ Dede ](20) 版权声明:本文为博主原创文章,未经博主允许不得转载. list列表页中使用i ...
- Yourphp 使用说明
https://wenku.baidu.com/view/c8d2e667cc1755270722088a.html 这个是站点的配置信息,比如:网站名称. LOGO .网站标题等 推荐位:个别可能用 ...
- FileZilla出现Failed to convert command to 8 bit charset
FileZilla这款FTP客户端软件,自从华哥使用以来,采用其默认的设置,一直用得很顺畅,没有出现过什么问题.但是今天碰到了一个问题.如图. 错误信息为:Failed to convert comm ...
- 邓_ Php·魔术方法
================================================ 1.__tostring() 用于定义输出对象引用时调用 常用于打印一些对象的信息 必须有返回值 ...
- MySQL浅谈 LEFT JOIN
On条件(在“A left join b on conditional_expr”)决定如何从table B 中检索数据行(Matching-State); 如果B中没有行匹配On 条件,额外的B的所 ...
- Java中实例方法、类方法和构造方法
类方法,有static修饰符,典型的主函数public static void main(String[] args){}实例方法,就是一般的方法构造方法,没有返回值(就是连void都没有),方法名与 ...
- [转]sysctl -P 报错解决办法
问题症状 修改 linux 内核文件 #vi /etc/sysctl.conf后执行sysctl -P 报错 error: "net.bridge.bridge-nf-call-ip6ta ...
- JAVA中比较两个文件夹不同的方法
JAVA中比较两个文件夹不同的方法,可以通过两步来完成,首先遍历获取到文件夹下的所有文件夹和文件,再通过文件路径和文件的MD5值来判断文件的异同.具体例子如下: public class TestFo ...
- XML (一)
1 XML概述 XML是指可扩展的标记语言,很类似与HTML.它被设计的宗旨就是描述数据,而非显示数据. XML标签没有被预定义,需要用户自定定义标签. XML技术是W3C组织发布的.目前遵循的规范是 ...
- JavaScript数据结构 (手打代码)
array: 数组创建: ); //创建一个长度为6的数组 ,,,,,); 数组方法: var str="I love javascript"; var single=str.sp ...