Ios Swift如何转换日期格式
我的日期类型为date,格式为“yyyy-MM-dd HH:MM:ss”,我想将其转换为“yyyy-MM-dd”。我不知道如何实现这一点,因为日期是日期类型 例如:Ios Swift如何转换日期格式,ios,swift,Ios,Swift,我的日期类型为date,格式为“yyyy-MM-dd HH:MM:ss”,我想将其转换为“yyyy-MM-dd”。我不知道如何实现这一点,因为日期是日期类型 例如: let dateComponents: Date? = dateFormatterGet.date(from: "2019-03-11 17:01:26") 所需输出: 格式类型为“yyyy MM dd”的日期对象 您的日期类型为字符串,而不是日期 使用一个DateFormatter将其转换为日期(检查DateFormatter
let dateComponents: Date? = dateFormatterGet.date(from: "2019-03-11 17:01:26")
所需输出:
格式类型为“yyyy MM dd”的日期对象
您的日期类型为字符串,而不是日期 使用一个DateFormatter将其转换为日期(检查DateFormatter是否返回nil) 然后使用另一个DateFormatter将日期转换为字符串 请不要使用“dateComponents”作为变量名。您永远不会在代码中接触日期组件。您不需要指定类型,只需“let date=…”或更好的“if let date=…”检查nil 您可以这样使用:
let now = Date().UTCToLocalDateConvrt(format: "yyyy-MM-dd HH:mm:ss",convertedFormat : "yyyy-MM-dd")
formatDate(yourDate: "2019-03-11 17:01:26")
将以下函数放入日期扩展类:
extension Date {
func UTCToLocalDateConvrt(format: String,convertedFormat: String) -> Date {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = format
dateFormatter.timeZone = TimeZone(abbreviation: "UTC")
let timeStamp = dateFormatter.string(from: self)
dateFormatter.dateFormat = convertedFormat
guard let date = dateFormatter.date(from: timeStamp)else{
return Date()
}
return date
}
}
像这样使用它:
let now = Date().UTCToLocalDateConvrt(format: "yyyy-MM-dd HH:mm:ss",convertedFormat : "yyyy-MM-dd")
formatDate(yourDate: "2019-03-11 17:01:26")
它将返回一个可选字符串,该字符串可以为零,请确保您安全地打开它(如果为let,则为guard let)
答案基于去掉第10个字符后的所有内容…我的日期是日期类型,所以这个``formatDate(yourDate:String)``应该接受日期类型而不是字符串类型的对象