gpt4 book ai didi

swift - 无法获取一个特定小时的 dateFromString

转载 作者:搜寻专家 更新时间:2023-11-01 06:44:29 26 4
gpt4 key购买 nike

2014/03/30 02:00 -> 02:59

我正在解析 CSV 以训练基本神经网络。每行对应一分钟。该代码可以毫无问题地解析 2014 年的剩余时间,但那一小时的结果为 nil 值。符号上没有区别。

我也在 Playground 上试过。同样的问题。只需将下面的代码粘贴到 playground 中并更改时间或日期。

var dateFormatter = NSDateFormatter()

dateFormatter.dateFormat = "yyyy/MM/dd HH:mm"

let dateString : String = "2014/03/30 02:53"


if dateFormatter.dateFromString(dateString) == nil {

print("bad date \(dateString)")


} else {
let date : NSDate = dateFormatter.dateFromString(dateString)!
let newDateString = dateFormatter.stringFromDate(date)


}

2014/03/30 02:55,1017,0,1.917,70.8,5.074,99,0,13.84

2014/03/30 02:56,1017,0,2.146,65.26,5.036,99,0,13.84

2014/03/30 02:57,1017,0,1.313,71.2,5.033,99,0,13.84

2014/03/30 02:58,1017,0,1.292,74.9,5.047,99,0,13.84

2014/03/30 02:59,1017,0,2.125,68.76,5.039,99,0,13.83

2014/03/30 03:00,1017,0,1.438,61.02,5.011,99,0,13.84

2014/03/30 03:01,1017,0,2.333,66.73,4.981,99,0,13.84

工作代码:

UTC 时区没有夏令时

var dateFormatter = NSDateFormatter()
dateFormatter.timeZone = NSTimeZone(abbreviation: "UTC")

dateFormatter.dateFormat = "yyyy/MM/dd HH:mm"

let dateString : String = "2014/03/30 02:53"


if dateFormatter.dateFromString(dateString) == nil {

print("bad date \(dateString)")


} else {
let date : NSDate = dateFormatter.dateFromString(dateString)!
let newDateString = dateFormatter.stringFromDate(date)


}

最佳答案

您无法获取 dateFromString,因为这个特定的时间从未存在过。2014 年 3 月 30 日,由于夏令时的更改,您所在时区的 2:00 - 2:59 时间刚刚被跳过。

关于swift - 无法获取一个特定小时的 dateFromString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31903602/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com