在Swift 3.0中操作日期格式

在Swift 3.0中操作日期格式,swift,date,datetime,Swift,Date,Datetime,我在UILabel中有这个日期时间格式输出 datefrom.text=“2010-12-05 00:00:00” 但是我想把这个日期格式显示成这样简单的格式 2010年12月5日或2010年12月5日 我使用此代码显示日期,但它显示的是今天的日期,即2017年4月5日 date.swift let date = Date() let formatter = DateFormatter() formatter.dateFormat = "d MMM yyyy" let result = form

我在UILabel中有这个日期时间格式输出

datefrom.text=“2010-12-05 00:00:00”

但是我想把这个日期格式显示成这样简单的格式

2010年12月5日或2010年12月5日

我使用此代码显示日期,但它显示的是今天的日期,即2017年4月5日

date.swift

let date = Date()
let formatter = DateFormatter()
formatter.dateFormat = "d MMM yyyy"
let result = formatter.string(from:date)
datefrom.text = result 
有解决办法吗


谢谢。

日期格式化程序将帮助您完成此操作

步骤1:将字符串转换为日期类型

func convertStringToDate(string: String) -> Date? {
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
    return dateFormatter.date(from: dateString)
}
步骤2:将日期转换为预期格式

func convertDateToString(date: Date) -> String {
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "d MMM yyyy"
    return dateFormatter.string(from: date)
}
就这样

let dateString = "2010-12-05 00:00:00"

let date = convertStringToDate(string: dateString)
let result = convertDateToString(date: date!)

datefrom.text = result
// 5 Dec 2010

您必须首先使用与原始格式匹配的
日期格式化程序
将字符串转换为
日期
,然后使用第二种格式将
日期
转换为新字符串。您能在回答中发布代码吗?感谢可能的副本。显然,与副本相比,您需要调整
dateFormat
值以满足您的特定需要。