-2

可能重复:
将字符串转换为 NSDate


我在字符串中有日期,并想在 NSDate 中进行转换。在字符串日期是:

“2012 年 6 月 21 日”

如何在 NSDate 中转换它?

当您给出答案时,请专注于“21st”而不是“21”。

4

2 回答 2

2

您可以使用NSDateFormatter将 NSString 更改为 NSDate。

于 2013-01-30T09:50:53.763 回答
0

Stack Overflow 上有此类问题的通用答案,即在 Objective-C中使用NSDateFormatter /在 Swift 中使用 DateFormatter。根据使用格式字符串指定自定义格式,格式遵循tr35-19或更高版本。

但是为了处理您对日期格式的变化,这里是您特定要求的 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 中的逻辑相同。

于 2018-07-09T05:14:41.483 回答