你能用NSDateformatter创建只有月份和年份的日期吗?

时间:2017-01-31 20:08:33

标签: date nsdateformatter

我有一个数据源,可以提供日期

22017            // means: february 2017
122017           // december 2017
52018            // May 2018

我尝试使用String Myyyy格式解析此格式,但日期不正确。我现在在最后4个字母之前添加一个' - '短划线以正确分开年月

5-2018
12-2018 

但是NSDateformatter在设置M-yyyy时仍然没有提供正确的格式,我真的不明白为什么。创建日期的信息太少了吗?

1 个答案:

答案 0 :(得分:2)

它确实有效,但您必须准确指定月份是否有一个或两个数字

let dateArray = ["22017", "122017", "52018"]

let dateFormatter = DateFormatter()

for string in dateArray {
    dateFormatter.dateFormat = string.characters.count == 5 ? "Myyyy" : "MMyyyy"
    let date = dateFormatter.date(from: string)
    print(date)
}