Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios NSDate from字符串始终为零_Ios_Swift_Nsdate_Nsdateformatter - Fatal编程技术网

Ios NSDate from字符串始终为零

Ios NSDate from字符串始终为零,ios,swift,nsdate,nsdateformatter,Ios,Swift,Nsdate,Nsdateformatter,我收到的日期是字符串,如下所示: “2016-05-20T12:25:00.0” 我想得到它对应的NSDate对象,我正在尝试以下方法: let dateFormatter = NSDateFormatter() dateFormatter.dateFormat = "YYYY-MM-DDThh:mm:ss.s" let date = dateFormatter.dateFromString(dateStr) 其中dateStr类似于我首先编写的示例。我从中获取了dateFormat字符串,但

我收到的日期是
字符串
,如下所示:

“2016-05-20T12:25:00.0”

我想得到它对应的
NSDate
对象,我正在尝试以下方法:

let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "YYYY-MM-DDThh:mm:ss.s"
let date = dateFormatter.dateFromString(dateStr)
其中
dateStr
类似于我首先编写的示例。我从中获取了
dateFormat
字符串,但是我得到了
nil
日期,有什么问题吗


提前感谢

您的日期格式有一些问题。第一个
Y
表示一年中的一周,
D
表示一年中的一天
hh
用于12小时格式,小数点后一秒您应该使用大写字母
S
,您需要转义
'T'

你应该做以下的事情:

let dateString = "2016-05-20T12:25:00.0"

let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.S"
if let date = dateFormatter.dateFromString(dateString) {
    print(dateFormatter.stringFromDate(date) )  // "2016-05-20T12:25:00.0\n"
}

您的日期格式有一些问题。第一个
Y
表示一年中的一周,
D
表示一年中的一天
hh
用于12小时格式,小数点后一秒您应该使用大写字母
S
,您需要转义
'T'

你应该做以下的事情:

let dateString = "2016-05-20T12:25:00.0"

let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.S"
if let date = dateFormatter.dateFromString(dateString) {
    print(dateFormatter.stringFromDate(date) )  // "2016-05-20T12:25:00.0\n"
}

确认您的dateStr格式和setter格式正确无误,或者苹果的NSDateFormatter使用UTC日期格式模式:。您的日期格式错误。您需要为T设置引号,如“YYYY-MM-DD'T'hh:MM:ss.s。请确认您的dateStr格式和setter格式正确或未在Apple中记录,NSDateFormatter使用UTC日期格式模式:。您的日期格式错误。您需要为T设置引号,如“yyy-MM-DD'T'hh:MM:ss.s”