iOS: swift return 中的日期格式化程序 nil
iOS: dateformatter in swift return nil
我的应用程序中有此代码
service.requestLastDate{ (response) -> () in
var str = response as NSString
var d = str.stringByReplacingOccurrencesOfString("\"", withString: "")
println("D \(str)") // D 2015-05-25 08:13:33
var dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm"
var date_formatted = dateFormatter.dateFromString(d)
println("DATE FORMATTED \(date_formatted)") // is NIL
使用此代码 date_formatted 永远为零。
如果我在 consolle "d" 中打印结果是“2015-02-12 08:15:16”,这个字符串是一个真正的字符串。
如果我尝试使用字符串 "example",我会得到正确的 date_formatted。
发生什么事?
我不明白。
我只是尝试更改 NSLocale 和 dateFormatter 的时区,但我得到了相同的结果。
这是请求
func requestLastDate(completion:(response:NSString)->()){
my_req_date = request(.GET, "http://example.com/current_date")
.responseString { (_, _, string, error) in
println(" server \(string!)") //server "2015-05-25 08:13:33"
completion(response: string!)
}
}
检查您的回复是否已转换为正确的日期格式字符串。因为如果我尝试这个,它会起作用:
var response:AnyObject?
response = "2015-03-17 23:34:12"
if let date:AnyObject = response {
var d = date as! String
var example = "2015-03-17 23:34:12"
var dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
var date_formatted = dateFormatter.dateFromString(d)
}
不想打破它:)
认为可能是:
"yyyy-MM-dd HH:mm:ss"
没有
"yyyy-MM-dd HH:mm"
?
我的应用程序中有此代码
service.requestLastDate{ (response) -> () in
var str = response as NSString
var d = str.stringByReplacingOccurrencesOfString("\"", withString: "")
println("D \(str)") // D 2015-05-25 08:13:33
var dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm"
var date_formatted = dateFormatter.dateFromString(d)
println("DATE FORMATTED \(date_formatted)") // is NIL
使用此代码 date_formatted 永远为零。 如果我在 consolle "d" 中打印结果是“2015-02-12 08:15:16”,这个字符串是一个真正的字符串。 如果我尝试使用字符串 "example",我会得到正确的 date_formatted。 发生什么事? 我不明白。 我只是尝试更改 NSLocale 和 dateFormatter 的时区,但我得到了相同的结果。
这是请求
func requestLastDate(completion:(response:NSString)->()){
my_req_date = request(.GET, "http://example.com/current_date")
.responseString { (_, _, string, error) in
println(" server \(string!)") //server "2015-05-25 08:13:33"
completion(response: string!)
}
}
检查您的回复是否已转换为正确的日期格式字符串。因为如果我尝试这个,它会起作用:
var response:AnyObject?
response = "2015-03-17 23:34:12"
if let date:AnyObject = response {
var d = date as! String
var example = "2015-03-17 23:34:12"
var dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
var date_formatted = dateFormatter.dateFromString(d)
}
不想打破它:)
认为可能是:
"yyyy-MM-dd HH:mm:ss"
没有
"yyyy-MM-dd HH:mm"
?