0

我似乎被困在这里,我在这方面浪费了太多的书籍。

我所拥有的是一个 RFC 1123 格式的字符串,我想从中获取一个日期,但无论我做什么,我都会得到一个 nil 结果;

 let dateFormat = NSDateFormatter();

    dateFormat.dateStyle = .MediumStyle;
    dateFormat.dateFormat = "EEE',' dd MMM yyyy HH':'mm':'ss z";
    dateFormat.locale = NSLocale.systemLocale();
    dateFormat.timeZone = NSTimeZone(abbreviation:"GMT");
    var currentDate = dateFormat.dateFromString("Sun, 28 Jun 2015 04:30:54 GMT");

我不确定我错过了什么,如果我将 MMM 更改为 MM 并制作 6 月 6 日,那么它可以工作。好像只有这个例子。我尝试移动创建 dateFormat 的顺序,但仍然没有结果。对此问题的任何帮助将不胜感激

4

1 回答 1

2

我认为您混淆了格式化程序。除了格式字符串,您不需要设置任何内容,因为格式化程序的工作是从它读取的字符串中学习其他设置。

let dateFormat = NSDateFormatter()
dateFormat.dateFormat = "EEE',' dd MMM yyyy HH':'mm':'ss z"
var currentDate = dateFormat.dateFromString("Sun, 28 Jun 2015 04:30:54 GMT")

// "Jun 27, 2015, 11:30 PM"

如果您按照上述方式进行操作,它将NSDate?从您提供的日期字符串中返回一个。

于 2015-06-28T04:58:26.240 回答