如何以12小时格式获取当前时间?

问题描述:

我想获得12小时格式的当前时间。如果时间是18:36,我想要格式,那么它应该是下午06:35。为此,我使用了下面的代码,但它只是不给我需要的格式。我得到这样的格式。如何以12小时格式获取当前时间?

let date = Date() 
let dateFormatter = DateFormatter() 
dateFormatter.dateFormat = "h:mm a" 
let date22 = dateFormatter.string(from: date) 
+1

此外,这个网站是一个伟大的找出你需要的东西:http://nsdateformatter.com/ – Losiowaty

+0

你的问题不清楚。什么是原始时间输入?一个'String'或一个'Date'? – rmaddy

看看这个日期格式guide。 & This site

let dateAsString = "6:35 PM" 
let dateFormatter = NSDateFormatter() 
dateFormatter.dateFormat = "hh:mm a" 
let date = dateFormatter.dateFromString(dateAsString) 

dateFormatter.dateFormat = "HH:mm" 
let date24 = dateFormatter.stringFromDate(date!) 
+1

可能值得一提的是,OP想要的是带有前导0的小时格式,而且这个答案(虽然完全正确)不包括前导0.简单的修复,但只是添加第二个“h”,以便格式字符串是“hh:mm a”。 –

+0

是的,谢谢,只是修好了。 – DeyaEldeen

SWIFT 2:

let date = NSDate() // return current time and date 
    let dateFormatter= NSDateFormatter() 
    dateFormatter.dateFormat = "hh:mm a" // for specifying the change to format hour:minute am/pm. 
    let dateInString = dateFormatter.stringFromDate(date) // provide current time in string formatted in 06:35 PM if current time is 18:35 

    print(dateInString) 

SWIFT 3: 只需更改行:

dateFormatter.dateFormat = "h:mm a"dateFormatter.dateFormat = "hh:mm a"

在你的代码

+0

仅供参考 - 要使用Swift 3,'NSDate'需要'Date','NSDateFormatter'需要'DateFormatter'。并且格式在Swift版本之间不会改变。 – rmaddy

+0

不working.i已尝试 – Techiee

+0

请建议您的代码我可以得到时间为18:36但不是06:36 PM – Techiee