使用Swift操作NSDate类型基础

  时间类型是我们在处理业务的时候使用非常频繁的一个数据类型。下面我们看一下时间NSDate的基本使用方法。

1.比较大小

  我比较擅长.NET,我们知道C#里面DateTime类型可以使用">""<""="来直接判断。但是在Swift里NSDate是不支持这种比较的方式的。我们需要使用NSDate.Compare方法来比较。NSDate.Compare返回一个枚举NSComparisonResult。这个枚举包含3个值:

NSComparisonResult.OrderedAscending//时间升序

NSComparisonResult.OrderedSame//相同

NSComparisonResult.OrderedDescending//时间倒序

其中NSDate()默认返回现在时间。所以date2的时间值肯定比date1大。如果想要实现C#里使用">""<""="来比较时间的话,可以使用以上方法重载操作符。

2.计算时间差

  我们知道在C#里可以直接对DateTime类型进行减法运算,得到的结果是一个时间差。那么在Swift里如何进行呢。我们使用

NSCalendar.currentCalendar().components来的到2个时间之间间隔的时间。该方法返回一个NSDateComponents类型的对象。NSDateComponents对象表示一段时间,且使用我们更易于读取的方式来描述:

3.构造时间

   有时候我们需要自己构造一个时间。其实就是上面的datePare方法。我们可以指定年月日来构造一个NSDateComponents,然后使用NSCalendar.dateFromComponents方法来构造一个时间。

  以上差不多就是NSDate在Swift里最基本的用法。

时间: 2024-10-07 00:38:18

使用Swift操作NSDate类型基础的相关文章

Swift 的 NSDate 初学者指南

Swift 的 NSDate 初学者指南 2015.12.14 22:43 如果问我在做过的所有项目中做的最多的事情,那处理日期绝对是榜上有名(译注:本文中的「日期」是指代 NSDate 对象,同时包含「日(date)」 和「时(time)」这两个元素).毋庸置疑,无论工作量是多是少,开发者迟早需要「玩」一下 NSDate 类,去按某种方式处理一下日期.从简单的将一个日期转换成一个字符串到对日期做计算,总会有一个不变的事实:开发者必须在 iOS 编程中学会这个知识点.这并不难掌握,而且可以为以后

Swift 语言附注 类型

本页包含内容: 类型注解(Type Annotation) 类型标识符(Type Identifier) 元组类型(Tuple Type) 函数类型(Function Type) 数组类型(Array Type) 可选类型(Optional Type) 隐式解析可选类型(Implicitly Unwrapped Optional Type) 协议合成类型(Protocol Composition Type) 元类型(Metatype Type) 类型继承子句(Type Inheritance C

The Swift Programming Language-官方教程精译Swift(2)基础知识

Swift 的类型是在 C 和 Objective-C 的基础上提出的,Int是整型:Double和Float是浮点型:Bool是布尔型:String是字符串.Swift 还有两个有用的集合类型,Array和Dictionary,请参考集合类型. 就像 C 语言一样,Swift 使用变量来进行存储并通过变量名来关联值.在 Swift 中,值不可变的变量有着广泛的应用,它们就是常量,而且比 C 语言的常量更强大.在 Swift 中,如果你要处理的值不需要改变,那使用常量可以让你的代码更加安全并且更

Swift学习-----可选类型

可选类型 * 可选类型表示变量可以有值, 也可以没有值 * C 和 Objective-C 中并没有可选类型这个概念 * Swift中只有可选类型才可以赋值为nil * 如果你声明一个可选常量或者变量但是没有赋值,它们会自动被设置为nil * 格式: Optional<类型> 或 在类型后面加上?号 可选类型的取值是一个枚举 * None 没有值 * Some 有值 * 由于可选类型在Swift中随处可见, 所以系统做了一个语法糖, 在类型后面加上? 注意: * nil不能用于非可选的常量和变

The Swift Programming Language (基础部分)

简介 Swift 是一门开发 iOS, OS X 和 watchOS 应用的新语言.然而,如果你有 C 或者 Objective-C 开发经验的话,你会发现 Swift 的很多内容都是你熟悉的. Swift 包含了 C 和 Objective-C 上所有基础数据类型,Int表示整型值:Double和Float表示浮点型值:Bool是布尔型值:String是文本型数据.Swift 还提供了三个基本的集合类型,Array,Set和Dictionary,详见集合类型. 就像 C 语言一样,Swift

Swift学习——Language Guide 基础

The Basics Swift is a new programming language for iOS and OS X app development. Nonetheless, many parts of Swift will be familiar from your experience of developing in C and Objective-C. Swift是用于开发IOS和Mac OS系统应用的新的编程语言,如果你曾经使用过C或者OC开发IOS程序,那你会发现他们和S

Swift学习 --- 2.1基础部分

1.swift 可以省去; 2.println与print的区别就是一个可以换行一个不可以 3.swift省去了.h与.m 直接一个swift文件 4.元组可以返回多个值,元组(tuples)把多个值组合成一个复合值.元组内的值可以使任意类型,并不要求是相同类型,你可以将一个元组的内容分解(decompose)成单独的常量和变量,然后你就可以正常使用它们了: let (statusCode, statusMessage) = http404Error println("The status co

Swift中基本类型的转换

最近上手学习了Swift的语言,谙习JS的我感觉非常顺眼,在此记录下我的学习过程吧. 因为我对Objective-c接触的不多,所以在oc里头使用的东西目前我可能还有很多不知道他的存在. 最近在用swift写了一些小示例app,很多地方都用到了基本类型的转换,但是我发现他居然没有Integer.parse()这样的东西,所以还是摸索了一番. ps: 我使用的版本是xCode6 bate4(其他版本可能实现又差别) OK,talk is chaep, show you the code! 扩展Do

Swift Playgrounds for mac基础知识介绍

Swift Playgrounds是一款适用于iPad和Mac的革命性应用程序,它使Swift学习变得互动而有趣.它不需要编码知识,因此非常适合刚开始的学生.使用Swift解决难题,以掌握基本知识.Swift是Apple创立的一种强大的编程语言,专业人士用来构建当今最受欢迎的应用程序.在本篇文章中,我们介绍的是Swift Playgrounds for mac基础知识. [dl]15-6298[/dl] 首先我们来认识一下基本的操作: 掌握基础知识,然后面对更多挑战.除了内置的课程库之外,Swi