如何使用 strftime 格式化 Swift 中的字符串
How to format string in Swift using strftime
编辑:请仔细阅读我需要支持这种特定格式,我不能只是使用 NSDateFormatter
来使用硬编码格式
您好,我的任务是使用从 OUR API 检索到的设置来格式化我们应用程序中的所有日期,这种情况下的格式由 strftime 函数支持.
我应该如何在 swift 中使用它们。
日期和时间的示例格式:
"date_format": "%d %B %Y"
"time_format": "%H:%M"
我找到了 strtime 函数,但我不确定我应该如何使用它,甚至不确定我是否应该使用它。我也只在 Objective-C
中找到示例
你可以使用这样的东西:
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd 'at' h:mm a"
let str = dateFormatter.stringFromDate(NSDate())
我希望你能找到更好的方法来满足这个要求,但这是代码。
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)!
注意:为了清楚起见,我稍微更新了代码。
编辑:请仔细阅读我需要支持这种特定格式,我不能只是使用 NSDateFormatter
来使用硬编码格式您好,我的任务是使用从 OUR API 检索到的设置来格式化我们应用程序中的所有日期,这种情况下的格式由 strftime 函数支持.
我应该如何在 swift 中使用它们。
日期和时间的示例格式: "date_format": "%d %B %Y" "time_format": "%H:%M"
我找到了 strtime 函数,但我不确定我应该如何使用它,甚至不确定我是否应该使用它。我也只在 Objective-C
中找到示例你可以使用这样的东西:
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd 'at' h:mm a"
let str = dateFormatter.stringFromDate(NSDate())
我希望你能找到更好的方法来满足这个要求,但这是代码。
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)!
注意:为了清楚起见,我稍微更新了代码。