NSDateFormatter return 指定日期字符串的空日期

NSDateFormatter return nil date for specify date strings

我正在尝试将字符串转换为日期,但 NSDateFormatter returns 对于特定日期为 nil。在下面的代码中,除了 date2 和 date7 之外,所有字符串都转换为 Date。关于什么是错误的任何指示?谢谢

let date1 = "Jan 01, 1941"
        let date2 = "Oct 01, 1941"
        let date3 = "Oct 13, 1941"
        let date4 = "Sep 30, 1941"
        let date5 = "Mar 31, 1941"
        let date6 = "Oct 02, 1941"
        let date7 = "Oct 01, 1941"
        
        let dateStringFormatter = DateFormatter()
        dateStringFormatter.dateFormat = "MMM dd, yyyy" //Using custom
        dateStringFormatter.locale = Locale(identifier: "en_US_POSIX")
        let date_1 : Date? = dateStringFormatter.date(from: date1)
        let date_2 : Date? = dateStringFormatter.date(from: date2)
        let date_3 : Date? = dateStringFormatter.date(from: date3)
        let date_4 : Date? = dateStringFormatter.date(from: date4)
        let date_5 : Date? = dateStringFormatter.date(from: date5)
        let date_6 : Date? = dateStringFormatter.date(from: date6)
        let date_7 : Date? = dateStringFormatter.date(from: date7)
        print("\(String(describing: date_1)),\n\(String(describing: date_2)),\n\(String(describing: date_3)),\n\(String(describing: date_4)),\n\(String(describing: date_5)),\n\(String(describing: date_6)),\n\(String(describing: date_7))")

以上问题可以通过在DateFormatter上设置日期属性来解决。日期可以是当前系统日期。