Swift日期和字符串互相转换(Swift 3/Swift 4)

Swift随着版本的升级,日期类都会有一点变化。所以各个版本的Swift日期和字符串的转换有所不同。

Swift 4

String转换为Date

var dateString = "2017-11-17"
var dateFormatter = DateFormatter()

// dateFormat需要和输入的字符串相匹配,否则返回nil
dateFormatter.dateFormat = "yyyy-MM-dd"

//`date(from:)` 返回的是可选类型 
var dateFromString: Date? = dateFormatter.date(from: dateString)

Date转换为String

var formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd"
let date = Date()
let stringDate: String = formatter.string(from: date)

Swift 3

String to NSDate

var dateString = "2017-11-17"
var dateFormatter = DateFormatter()

// dateFormat需要和输入的字符串相匹配,否则返回nil
dateFormatter.dateFormat = "yyyy-MM-dd"
var dateFromString = dateFormatter.date(from: dateString)

NSDate to String

var formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd"

//其中dateFromString为上面例子的变量
let stringDate: String = formatter.string(from: dateFromString)

Swift3和Swift4不同点在于NSDate改为Date,且在字符串转换为日期时,Swift 4返回的是一个可选类型日期。

版权声明:著作权归作者所有。

相关推荐

Swift 4转换html为字符串文本

Swift 4可以添加extension来把html转换为字符串。String添加扩展extension String {     var html2AttributedString: NSAttributedString? {       

Swift 4:KeyPath

Swift 4对KeyPath做了很大的改进。改进后的为类型安全的KeyPath。Swift 2的KeyPath示例class Person: NSObject {   var name: String = ""   init(name: 

使用Swift 3/Swift 4扫描二维码

iOS的AVFoundation内置了对二维码和条形码扫描的支持。使用AVFoundation扫描二维码的功能需要几件事:创建AVCaptureSession,用于捕获二维码创建预览捕获二维码成功后,委派回调来处理二维码的meta信息下面的例子是基于UIViewController开发的扫描二维码Controller,使用AVCaptureMetadataOutputObjectsDelegate

Swift3/Swift4 转换Html为纯文本

Swift 3或者Swift 4 添加String扩展,把Html字符串转换为纯文本Xcode 9 beta • Swift 4extension String {     var html2AttributedString: NSAttr

[译]Swift 4字符串的更新

又一年过去了,Swift String API又做了一些更改。Swift 4对String带来了一些很需要的改进以及简化。这些是我写的笔记,它记录了我的Swift字符串小抄关于Swift4需要做的改动。你可以在这里找到原来的和现在更新的指南以及Xcode playground:Swift String Cheat SheetXc