Ios 使用格式化程序从字符串获取零日期
我使用此代码将Ios 使用格式化程序从字符串获取零日期,ios,swift,nsdate,nsdateformatter,Ios,Swift,Nsdate,Nsdateformatter,我使用此代码将字符串的数组日期转换为日期 let formatter = DateFormatter() formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss" for i in 0 ..< data.count { let time = data[i] let ft_date = time["ft_date"] as! String print(ft_date) let dateF = formatter.da
字符串的数组
日期转换为日期
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss"
for i in 0 ..< data.count {
let time = data[i]
let ft_date = time["ft_date"] as! String
print(ft_date)
let dateF = formatter.date(from: ft_date)
print(dateF)
}
为什么会这样?这是相同的格式,但我得到零您需要更改时间格式
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss Z"
您是否生活在一个夏时制在2017-03-22午夜改变的国家
如果是,这可能是原因,因为日期不存在。怎么说这个
yyyy-MM-dd HH:MM:ss Z
等于2017-03-22T00:00:00
返回值nil@Amir_P-我看不到你的约会有任何变化-你是什么意思@安布。Karthik@Amir_P-我说的每件事都是正确的,检查一下你的代码,你说的格式不起作用,我无法复制…我也很困惑,这在逻辑上是正确的,但是发生了@sweeper你检查过日光节约吗?不,我没有。我该怎么做@LionWe可以通过将时区设置为formatter.timeZone=timeZone(缩写:“IRST”)……来重现这一点。如果我们将时区设置为伊朗昼时(“IRDT”),则IRST是伊朗标准时间的缩写这个问题是不可复制的。我住在伊朗,2017-03-22《代码》上没有变化,但我如何解决它?根据它在2017-03-22《代码》上的变化,你是对的。我该怎么办?2017年3月22日,伊朗的白天开始。答案可能会对您有所帮助。我的日期是字符串,因此我不能使用isDaylightSavingTimeOrDate
,因为它会获取NSDate
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss Z"