将不带年份的字符串的 NSDate 设置为当前年份,Swift
Set NSDate to current year from String without year, Swift
我有一个从网上提取的格式为 "Sat, Jan 30 @ 11:00 AM" 的字符串,我想将其转换为 NSDate。我可以使用下面的代码这样做,但年份默认为 2000。
如何将我的 NSDate 的年份设置为当前年份?
var dateString = "Sat, Jan 30 @ 11:00 AM"
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "EEE, MMM dd @ hh:mm a"
let date = dateFormatter.dateFromString(dateString)
//date output is 2000-01-30 19:00:00 +0000
我相信这是 Objective-C 答案:
“a date string without year to NSDate with year”
谢谢!
不确定这是否是最好的方法,因为我是编程新手。但我会做类似的事情,我想效果很好(我知道顺序有点混乱,但我只是在几分钟内完成了这个而没有制作代码 "look good" ^^):
var dateString = "Sat, Jan 30 @ 11:00 AM"
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "YYYY EEE, MMM dd @ hh:mm a"
//let date = dateFormatter.dateFromString(dateString)
let currentDate = NSDate()
let newFormatter = NSDateFormatter()
newFormatter.dateFormat = "YYYY"
let YearString = newFormatter.stringFromDate(currentDate)
let newDateString = String(YearString + " " + dateString)
let date = dateFormatter.dateFromString(newDateString)
print(date)
只需将一行代码添加到您的 dateFormatter (Swift 3)
var dateString = "Sat, Jan 30 @ 11:00 AM"
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "EEE, MMM dd @ hh:mm a"
dateFormatter.defaultDate = Date() // New Line
let date = dateFormatter.dateFromString(dateString)
我有一个从网上提取的格式为 "Sat, Jan 30 @ 11:00 AM" 的字符串,我想将其转换为 NSDate。我可以使用下面的代码这样做,但年份默认为 2000。
如何将我的 NSDate 的年份设置为当前年份?
var dateString = "Sat, Jan 30 @ 11:00 AM"
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "EEE, MMM dd @ hh:mm a"
let date = dateFormatter.dateFromString(dateString)
//date output is 2000-01-30 19:00:00 +0000
我相信这是 Objective-C 答案: “a date string without year to NSDate with year”
谢谢!
不确定这是否是最好的方法,因为我是编程新手。但我会做类似的事情,我想效果很好(我知道顺序有点混乱,但我只是在几分钟内完成了这个而没有制作代码 "look good" ^^):
var dateString = "Sat, Jan 30 @ 11:00 AM"
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "YYYY EEE, MMM dd @ hh:mm a"
//let date = dateFormatter.dateFromString(dateString)
let currentDate = NSDate()
let newFormatter = NSDateFormatter()
newFormatter.dateFormat = "YYYY"
let YearString = newFormatter.stringFromDate(currentDate)
let newDateString = String(YearString + " " + dateString)
let date = dateFormatter.dateFromString(newDateString)
print(date)
只需将一行代码添加到您的 dateFormatter (Swift 3)
var dateString = "Sat, Jan 30 @ 11:00 AM"
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "EEE, MMM dd @ hh:mm a"
dateFormatter.defaultDate = Date() // New Line
let date = dateFormatter.dateFromString(dateString)