我有一个来自UIControl的日期。我将日期作为字符串,例如06-12-2016 01:25 PM
。现在我想将其转换为格式为2016-12-06 13:25:00
我已尝试过以下代码来执行此操作,但它只是给了我错误的日期。 2016-12-06 18:55:00
。我使用下面的代码:
func converStingToDate(str_date:String)->String
{
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd-MM-yyyy H:mm a"
let date = dateFormatter.date(from: str_date)
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
return dateFormatter.string(from: date!)
}
请建议我更好的代码。另外,如果你们可以帮助我理解所有这些日期格式化概念是如何完成的?
答案 0 :(得分:3)
代码正确且日期正确(尽管您应该使用h
12小时)。
您的时区为UTC+0530
,print()
以UTC
显示日期。
如果您需要print
正确的本地时间,请将格式化程序的时区设置为UTC:
dateFormatter.timeZone = TimeZone(abbreviation: "UTC")`