如何将此日期转换为NSDate
datestring = /Date(147410000000)/ //String from server response
预期产出:
12/01/2014
我试过这个。但我没有。
let dateFormatter:NSDateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "dd/MM/yyyy"
let date = dateFormatter.dateFromString(datestring)
return date
答案 0 :(得分:11)
" 147410000000 ",我认为这是时间间隔你是 从服务器获取。
在您的情况下,您需要修剪字符串并将其转换为 /日期(147410000000)/ 至 147410000000
var string : String = "1408709486" // (Put your string here)
var timeinterval : NSTimeInterval = (string as NSString).doubleValue // convert it in to NSTimeInteral
var dateFromServer = NSDate(timeIntervalSince1970:timeinterval) // you can the Date object from here
println(dateFromServer) // for My Example it will print : 2014-08-22 12:11:26 +0000
// Here i create a simple date formatter and print the string from DATE object. you can do it vise-versa.
var dateFormater : NSDateFormatter = NSDateFormatter()
dateFormater.dateFormat = "yyyy-MM-dd"
println(dateFormater.stringFromDate(dateFromServer)) // And then i can get the string like this : 2014-08-22
查看评论部分。马丁的评论也可以帮助您解决问题。
答案 1 :(得分:1)
您只是在上面提到的代码的最后一行使用了错误的功能
var dateString = "01-02-2010"
var dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"
var dateFromString = dateFormatter.dateFromString(dateString)
答案 2 :(得分:0)
在Swift中转换日期格式:
let myDate = "2016-09-19 01:25:17"
let dateFormat = NSDateFormatter()
dateFormat.dateFormat = "yyyy-MM-dd HH:mm:ss"
let date = dateFormat.dateFromString(myDate)
dateFormat.dateFormat = "yyyy-MM-dd"
let newDate = dateFormat.stringFromDate(date!)
print(newDate)
答案 3 :(得分:0)
根据Wolverine的代码,我为 Swift 3和iOS10 编写了一个函数。随意使用:
func convertStringTimestampToStringDate(_ dateandTime: String) -> String {
let string : String = dateandTime
let timeinterval : TimeInterval = (string as NSString).doubleValue
let dateFromServer = NSDate(timeIntervalSince1970:timeinterval)
let dateFormater : DateFormatter = DateFormatter()
dateFormater.dateFormat = "MMM dd, yyyy, HH:mm a"
dateFormater.amSymbol = "AM"
dateFormater.pmSymbol = "PM"
let backToString = dateFormater.string(from: dateFromServer as Date)
print(dateFormater.string(from: dateFromServer as Date))
return backToString }
这应该从时间戳作为输入带来像“2016年10月20日,03:30 AM”这样的解决方案。