在swift 3中将字符串转换为日期类型 [英] Convert string to DATE type in swift 3
本文介绍了在swift 3中将字符串转换为日期类型的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有这个结构:
struct message {变量 ID:字符串 =0"var 文本:字符串 = ""var 日期:日期!变量状态:字符串 = ""}
我必须从 dbase 加载这个结构,它以 String
格式和 date
导出.所以我写了这段代码把String
转换成Date
类型:
let dateFormatter = DateFormatter()dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"dateFormatter.timeZone = NSTimeZone(缩写:UTC")作为时区!让 dataDate = dateFormatter.date(from: elemMessage["date"] as!String)!
我在结构中加载它:
message(id: elemMessage["id"] as!String, text: elemMessage["text"] as!String, date: dataDate as!Date, status: elemMessage["status"] as!String)
但是我有这个警告:从 Date
转换到无关类型 Date
总是失败"
因此,如果我运行应用程序,它将失败.
我该如何解决这个问题,结构中的 date
变量必须是 Date
类型.
谢谢.
解决方案
您可以将 String Date 转换为 Date/NSDate 如下代码:-
<块引用>Swift 3.2 &Swift 4.2
字符串到日期
let dateFormatter = DateFormatter()dateFormatter.dateFormat = "dd-MM-yyyy";//你的日期格式dateFormatter.timeZone = TimeZone(abbreviation: "GMT+0:00")//当前时区//根据日期格式你的日期字符串守卫让日期= dateFormatter.date(来自:01-01-2017")其他{致命错误()}打印(日期)//将字符串转换为日期
日期到字符串
dateFormatter.dateFormat = "MMM d, yyyy";//您的新日期格式根据要求更改它自己let newDate = dateFormatter.string(from: date)//在这里传递日期print(newDate)//新格式化的日期字符串
输出:-
2017-01-11 00:07:00 +00002017 年 1 月 11 日
I have this structure:
struct message {
var id: String = "0"
var text: String = ""
var date: Date!
var status: String = ""
}
I have to load this structure from dbase, that it export in String
format also date
.
So I write this code to convert String
to Date
type:
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
dateFormatter.timeZone = NSTimeZone(abbreviation: "UTC") as TimeZone!
let dataDate = dateFormatter.date(from: elemMessage["date"] as! String)!
And I load it in structure:
message(id: elemMessage["id"] as! String, text: elemMessage["text"] as! String, date: dataDate as! Date, status: elemMessage["status"] as! String)
But I have this warning: "Cast from Date
to unrelated type Date
always fails"
So if I run app it will fails.
How Can I fix this, the date
var in structure have to be Date
type.
Thank you.
解决方案
You can convert String Date into Date/NSDate like below code: -
Swift 3.2 & Swift 4.2
String to Date
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd-MM-yyyy" //Your date format
dateFormatter.timeZone = TimeZone(abbreviation: "GMT+0:00") //Current time zone
//according to date format your date string
guard let date = dateFormatter.date(from: "01-01-2017") else {
fatalError()
}
print(date) //Convert String to Date
Date to String
dateFormatter.dateFormat = "MMM d, yyyy" //Your New Date format as per requirement change it own
let newDate = dateFormatter.string(from: date) //pass Date here
print(newDate) //New formatted Date string
Output: -
2017-01-11 00:07:00 +0000
Jan 11, 2017
这篇关于在swift 3中将字符串转换为日期类型的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文