本文介绍了将字符串转换为NSDate给出错误的日期的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个使用 stringFromDate 转换的字符串,现在我正在尝试将其转换回来,但是当UIPicker启动时,它给了我错误的一天

I have a String that I converted using stringFromDate and now I'm trying to convert it back, however when the UIPicker starts, it's giving me the wrong day

 let dateFormatter = NSDateFormatter()
 dateFormatter.dateFormat = "dd MMM YYYY"

 print(birthday) // logs 15 Jan 1992

 let date = dateFormatter.dateFromString(birthday)
 self.datePicker.setDate(date!, animated: true)

我尝试了硬编码1992年2月15日,但结果仍然相同。 UIDatePicker上的日期显示在1991年12月22日开始。

I tried hardcoding "15 Feb 1992" but still the same result. The date on UIDatePicker shows 22 Dec 1991 on Start.

如果我使用硬核 1980年1月10日,它从1979年12月23日。

If I use hardcore 10 Jan 1980, it starts from 23 December 1979.

(我不知道是不是这样,但我在UIPickerView中有 MMM dd YYYY 而对于字符串,它是 dd MMM YYYY 我不认为,因为在保存时,它会保存正确的值)..

(I don't know if that's the case but I have MMM dd YYYY in UIPickerView whereas it's dd MMM YYYY for the strings.. I don't think though because while saving, it saves the right value)..

推荐答案

您使用的格式错误。你需要 dd MMM yyyy

You are using the wrong format. You need dd MMM yyyy.

这篇关于将字符串转换为NSDate给出错误的日期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-13 12:47