NSDate,无法获得正确的日期格式
NSDate, Can't get proper date format
这是我试图让我的应用读取的时间戳:2016 年 3 月 3 日,星期四 16:06:42 GMT
这是我最接近的,但还没有成功:
[df setDateFormat:@"EEE, dd MMM YYYY HH:mm:ss z"];
编辑:我当前的格式 prints-to/reads:星期二,2016 年 2 月 02 日 11:36:57 GMT-5
有什么我遗漏的吗?
最终编辑:
我应该刚刚发布我所有的代码...
[df setLocale:[NSLocale systemLocale]];
这让我一团糟。
我认为你的年份不正确。将您的日期格式更改为
[df setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss z"];
我尝试使用您的日期格式并将其转换为 nsdate,然后再转换回字符串。它应该适用于您使用的格式字符串。
let time = "Thu, 03 Mar 2016 16:06:42 GMT"
let dateformat = "EEE, dd MMM yyyy HH:mm:ss z"
var dateformatter = NSDateFormatter()
dateformatter.dateFormat = dateformat
dateformatter.timeZone = NSTimeZone(forSecondsFromGMT: 0)
var date = dateformatter.dateFromString(time)
var newTime = dateformatter.stringFromDate(date!)
// newTime = "Thu, 03 Mar 2016 16:06:42 GMT"
编辑:我按照 Devster101 的建议将日期格式更改为使用小写 y
s 表示年份。这是根据 this spezification which is used since iOS 7
的正确格式
这是我试图让我的应用读取的时间戳:2016 年 3 月 3 日,星期四 16:06:42 GMT
这是我最接近的,但还没有成功:
[df setDateFormat:@"EEE, dd MMM YYYY HH:mm:ss z"];
编辑:我当前的格式 prints-to/reads:星期二,2016 年 2 月 02 日 11:36:57 GMT-5
有什么我遗漏的吗?
最终编辑:
我应该刚刚发布我所有的代码...
[df setLocale:[NSLocale systemLocale]];
这让我一团糟。
我认为你的年份不正确。将您的日期格式更改为
[df setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss z"];
我尝试使用您的日期格式并将其转换为 nsdate,然后再转换回字符串。它应该适用于您使用的格式字符串。
let time = "Thu, 03 Mar 2016 16:06:42 GMT"
let dateformat = "EEE, dd MMM yyyy HH:mm:ss z"
var dateformatter = NSDateFormatter()
dateformatter.dateFormat = dateformat
dateformatter.timeZone = NSTimeZone(forSecondsFromGMT: 0)
var date = dateformatter.dateFromString(time)
var newTime = dateformatter.stringFromDate(date!)
// newTime = "Thu, 03 Mar 2016 16:06:42 GMT"
编辑:我按照 Devster101 的建议将日期格式更改为使用小写 y
s 表示年份。这是根据 this spezification which is used since iOS 7