如何使用strftime格式化Swift中的字符串

时间:2015-06-19 07:31:42

标签: ios swift strftime

编辑:请仔细阅读我需要支持这种特定的格式,我不能只使用NSDateFormatter使用硬编码格式

您好我的任务是使用从 OUR API中检索到的设置来格式化我们应用中的所有日期,这种情况下的格式由strftime函数支持。

我该如何在swift中使用它们。

日期和时间的示例格式: “date_format”:“%d%B%Y” “time_format”:“%H:%M”

我找到了strtime函数,但我不确定应该如何使用它,即使我应该使用它。我也只在Objective-C

中找到了例子

2 个答案:

答案 0 :(得分:2)

我希望你能找到更好的方法来满足这个要求,但这里是代码。

let bufferSize = 255
var buffer = [Int8](count: bufferSize, repeatedValue: 0)
var timeValue = time(nil)
let tmValue = localtime(&timeValue)

strftime(&buffer, UInt(bufferSize), "%d %B %Y", tmValue)
let dateFormat = String(CString: buffer, encoding: NSUTF8StringEncoding)!

strftime(&buffer, UInt(bufferSize), "%H:%M", tmValue)
let timeFormat = String(CString: buffer, encoding: NSUTF8StringEncoding)!

注意:为了清楚起见,我稍微更新了代码。

答案 1 :(得分:1)

你可以使用这样的东西:

let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd 'at' h:mm a" 
let str = dateFormatter.stringFromDate(NSDate())

并提供详细信息 - https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSDateFormatter_Class/