我收到一个 Json 字符串,首先我要做的就是将其转换为 NSDate。问题是,我使用的字符串格式都无效。代码如下:
let formatter = NSDateFormatter()
formatter.dateFormat = "yyyy-MM-dd hh:mm:ss"
var output = formatter.dateFromString("2000-01-01T00:00:00.000Z")
let timeString = formatter.stringFromDate(output)
据我所知,如果我想从 NSData 检索小时数,我必须再次调用格式化程序
formatter.dateFormat = "hh"
并在从字符串获取的 NSDate 上调用它。我对吗? 我的第一个问题是:如何确定正确的日期格式,以便输出不会被评估为零?第二个问题是:我做对了吗?还是有更简单的方法或一般方法从以下字符串中检索小时数:“2000-01-01T00:00:00.000Z”?我知道我可以通过处理纯粹的字符串而不涉及 dateFormatter 和 NSDate 来做到这一点,但是这样的解决方案不会容易受到攻击吗?请告诉我处理这个问题最简单(且可靠)的方法是什么。
提前致谢
最佳答案
首先,你的格式化程序错误......
let formatter = NSDateFormatter()
formatter.dateFormat = "yyyy-MM-dd'T'hh:mm:ss.SSS'Z'"
var output = formatter.dateFromString("2000-01-01T00:00:00.000Z")
之后,您可以通过以下方式获取小时部分
if let date = output {
var hours = NSCalendar.currentCalendar().component(.HourCalendarUnit, fromDate: date)
}
关于ios - Swift - 从 NSDate 中提取小时数,解析字符串问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27987319/