NSDateFormatter "dateFromString" 返回 nil
NSDateFormatter "dateFromString" returning nil
我正在尝试使用以下代码从字符串“07:00 PM”中获取日期,但它总是返回 nil。有帮助吗?
let hr12Formatter : NSDateFormatter = NSDateFormatter()
hr12Formatter.dateStyle = NSDateFormatterStyle.NoStyle
hr12Formatter.timeStyle = NSDateFormatterStyle.ShortStyle
hr12Formatter.dateFormat = "hh:mm a"
let hr12Date : NSDate = hr12Formatter.dateFromString(inputTimeString)!
试试这个:
let timeString = "07:00 PM"
let hr12Formatter : NSDateFormatter = NSDateFormatter()
hr12Formatter.dateFormat = "hh:mm a"
let hr12Date : NSDate = hr12Formatter.dateFromString(timeString)!
只需删除这两行日期和时间样式,保留 dateFormat 并将日期格式化程序语言环境设置为 en_US_POSIX
Swift 3 或更高版本
let formatter = DateFormatter()
formatter.defaultDate = Calendar.current.startOfDay(for: Date()) // add this if you would like to use todays date as default
formatter.locale = Locale(identifier: "en_US_POSIX")
formatter.dateFormat = "hh:mm a"
let inputTimeString = "07:00 PM"
if let hr12Date = formatter.date(from: inputTimeString) {
print(hr12Date.description(with: .current))
}
我正在尝试使用以下代码从字符串“07:00 PM”中获取日期,但它总是返回 nil。有帮助吗?
let hr12Formatter : NSDateFormatter = NSDateFormatter()
hr12Formatter.dateStyle = NSDateFormatterStyle.NoStyle
hr12Formatter.timeStyle = NSDateFormatterStyle.ShortStyle
hr12Formatter.dateFormat = "hh:mm a"
let hr12Date : NSDate = hr12Formatter.dateFromString(inputTimeString)!
试试这个:
let timeString = "07:00 PM"
let hr12Formatter : NSDateFormatter = NSDateFormatter()
hr12Formatter.dateFormat = "hh:mm a"
let hr12Date : NSDate = hr12Formatter.dateFromString(timeString)!
只需删除这两行日期和时间样式,保留 dateFormat 并将日期格式化程序语言环境设置为 en_US_POSIX
Swift 3 或更高版本
let formatter = DateFormatter()
formatter.defaultDate = Calendar.current.startOfDay(for: Date()) // add this if you would like to use todays date as default
formatter.locale = Locale(identifier: "en_US_POSIX")
formatter.dateFormat = "hh:mm a"
let inputTimeString = "07:00 PM"
if let hr12Date = formatter.date(from: inputTimeString) {
print(hr12Date.description(with: .current))
}