我想从我的iPad到我的网站,这两者都是本地的差异。每件事情都可以正常工作,直到我看到下面这行,这应该是iPad的时间,并从中减去serverTime。演员从(NSDate) - > NSTimeInterval到无关类型'NSTimeInterval总是失败
self.serverTimeOffSet = NSDate.timeIntervalSinceDate(serverTime) as NSTimeInterval
我得到 “从(NSDate的)演员 - > NSTimeInterval到不相关类型的“NSTimeInterval总是失败” 的警告,并self.serverTimeOffset永远不会设置。
var serverTimeOffSet: NSTimeInterval = 0.0
func setServerOffset(){
var currentTime = NSDate.timeIntervalSinceReferenceDate()
var url = NSURL(string: "http://someurl.com/time")
var request = NSMutableURLRequest(URL:url!)
var response: NSURLResponse?
var error: NSError?
request.HTTPMethod = "get"
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue.mainQueue(), completionHandler: {(response:NSURLResponse!, data:NSData!, error:NSError!) -> Void in
if (error == nil) {
var dateString = NSString(data: data, encoding: NSUTF8StringEncoding) as! String
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "YYYY-MM-dd'T'HH:mm:ss"
dateFormatter.locale = NSLocale(localeIdentifier: "en_US_POSIX")
if let serverTime = dateFormatter.dateFromString(dateString){
self.serverTimeOffSet = NSDate.timeIntervalSinceDate(serverTime) as NSTimeInterval
}
}
})
}
感谢
编辑 - 从现场返回的日期:
2015-09-15T00:01:44.8530546-06:00
使通过'JSON'返回和'DateFormatter'(“YYYY-MM-dd'T'HH设置确定日期格式:毫米:ss“)相同,否则无法转换为日期。 –
我在“self.serverTimeOffSet = NSDate.timeIntervalSinceDate(serverTime)”行上放置了一个断点作为NSTimeInterval“,serverTime是一个有效的日期。 –
@BryanH你可以显示你的日期字符串样本 –