swift2 更改Swift中的日期格式

yrdbyhpb  于 2022-11-06  发布在  Swift
关注(0)|答案(3)|浏览(173)

我在String值中有一个日期格式“2015-08-27”,即“YYYY-MM-DD”。我需要将其转换为Date,并将格式更改为“DD-MMM-YYYY”。然后再次将其更改回String进行显示。因此,最终结果将是“27-AUG-2015”。
我一直在寻找密码,但找不到。

cygmwpex

cygmwpex1#

let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "YYYY-MM-DD"
let date = dateFormatter.dateFromString("2015-08-27")

dateFormatter.dateFormat = "DD-MMM-YYYY"
let goodDate = dateFormatter.stringFromDate(date!)

它没有经过测试,但我希望它能起作用。

6yjfywim

6yjfywim2#

您可以创建一个类帮助器,如DateHelper和类func:

class func convertDateString(dateString : String!, fromFormat sourceFormat : String!, toFormat desFormat : String!) -> String {
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = sourceFormat
    let date = dateFormatter.date(from: dateString)
    dateFormatter.dateFormat = desFormat
    return dateFormatter.string(from: date!)
}

并使用它:(注意格式,你给予的问题错误,所以它会错误转换):开始格式为YYYY-MM-dd,而您希望转换为dd-MMM-YYYY)

print(DateHelper.convertDateString("2015-08-27", fromFormat: "YYYY-MM-dd", toFormat: "dd-MMM-YYYY"))

希望这能有所帮助。

de90aj5v

de90aj5v3#

只是在你的代码中使用了函数(swift 4.2)。

public func convertDateFormatter(date: String) -> String {
 let dateFormatter = DateFormatter()
 dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"//this your string date format
 dateFormatter.timeZone = NSTimeZone(name: "UTC") as TimeZone!
 dateFormatter.locale = Locale(identifier: "your_loc_id")
 let convertedDate = dateFormatter.date(from: date)
 guard dateFormatter.date(from: date) != nil else {
 assert(false, "no date from string")
 return ""
 }
 dateFormatter.dateFormat = "HH:mm a"///this is what you want to convert format
 dateFormatter.timeZone = NSTimeZone(name: "UTC") as TimeZone!
 let timeStamp = dateFormatter.string(from: convertedDate!)
 print(timeStamp)
 return timeStamp
 }

谢谢

相关问题