我想在Swift中将"2014-07-15 06:55:14.198000+00:00“这个字符串日期转换为NSDate。
发布于 2015-08-20 04:16:29
func convertDateFormatter(date: String) -> String
{
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"//this your string date format
dateFormatter.timeZone = NSTimeZone(name: "UTC")
let date = dateFormatter.dateFromString(date)
dateFormatter.dateFormat = "yyyy MMM EEEE HH:mm"///this is what you want to convert format
dateFormatter.timeZone = NSTimeZone(name: "UTC")
let timeStamp = dateFormatter.stringFromDate(date!)
return timeStamp
}
针对Swift 3进行了更新。
func convertDateFormatter(date: String) -> String
{
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"//this your string date format
dateFormatter.timeZone = NSTimeZone(name: "UTC") as TimeZone!
let date = dateFormatter.date(from: date)
dateFormatter.dateFormat = "yyyy MMM EEEE HH:mm"///this is what you want to convert format
dateFormatter.timeZone = NSTimeZone(name: "UTC") as TimeZone!
let timeStamp = dateFormatter.string(from: date!)
return timeStamp
}
发布于 2015-03-30 07:39:47
如果您需要经常将字符串解析为日期,则可能需要将该功能移动到扩展中。我创建了一个sharedCode.swift文件,并将我的扩展名放在那里:
extension String
{
func toDateTime() -> NSDate
{
//Create Date Formatter
let dateFormatter = NSDateFormatter()
//Specify Format of String to Parse
dateFormatter.dateFormat = "yyyy-MM-dd hh:mm:ss.SSSSxxx"
//Parse into NSDate
let dateFromString : NSDate = dateFormatter.dateFromString(self)!
//Return Parsed Date
return dateFromString
}
}
然后,如果你想把你的字符串转换成一个NSDate,你可以写一些类似这样的代码:
var myDate = myDateString.toDateTime()
发布于 2016-01-05 05:32:59
Swift支持扩展,通过扩展,您可以向现有的class
、structure
、enumeration
或protocol
类型添加新功能。
您可以通过使用NSDate
关键字扩展对象来向extension
对象添加新的init
函数。
extension NSDate
{
convenience
init(dateString:String) {
let dateStringFormatter = NSDateFormatter()
dateStringFormatter.dateFormat = "yyyyMMdd"
dateStringFormatter.locale = NSLocale(localeIdentifier: "fr_CH_POSIX")
let d = dateStringFormatter.dateFromString(dateString)!
self.init(timeInterval:0, sinceDate:d)
}
}
现在,您可以使用以下命令初始化NSDate对象:
let myDateObject = NSDate(dateString:"2010-12-15 06:00:00")
https://stackoverflow.com/questions/24777496
复制相似问题