我在字符串中有日期,想要在NSDate中转换。在字符串日期是:
“2012年6月21日”
如何在NSDate中转换它?
当你回答时,请专注于“21”而不是“21”。
答案 0 :(得分:2)
您可以使用NSDateFormatter将NSString更改为NSDate。
答案 1 :(得分:0)
对于这类问题available on Stack Overflow,有一个通用的答案,那就是使用NSDateFormatter in Objective-C / DateFormatter in Swift。并且格式是根据tr35-19遵循Use Format Strings to Specify Custom Formats或更高版本。
但是要处理日期格式的变化,以下是针对特定要求的Swift答案:
// Your example
let dateString = "21st June 2012"
// Sanitizing input for 2nd, 3rd, 4th
let normalizedDateString = dateString.replacingOccurrences(of: "nd", with: "st").replacingOccurrences(of: "rd", with: "st").replacingOccurrences(of: "th", with: "st")
// Converting string to date object
let formatter = DateFormatter()
formatter.locale = Locale(identifier: "en_US")
formatter.dateFormat = "d'st' MMMM yyyy"
let date = formatter.date(from: normalizedDateString)
Objective-C中的逻辑相同。