从 NSDate 获取每分钟的小时数

Get hours an minutesfrom NSDate

我在 sqlite 数据库中保存了一个日期。知道我试图获得小时和分钟。但是时间偏移了 2.

print(calendar.timeZone)
while result.next() {
                var hour = 0
                var minute = 0
                let calendar = NSCalendar.currentCalendar()
                if #available(iOS 8.0, *) {
                    calendar.getHour(&hour, minute: &minute, second: nil, nanosecond: nil, fromDate: result.dateForColumn("time"))
                    print(result.dateForColumn("time"))
                    print("the hour is \(hour) and minute is \(minute)")
                }

            }

我得到以下输出:

Europe/Berlin (GMT+2) offset 7200 (Daylight)
2016-08-17 18:44:57 +0000
the hour is 20 and minute is 44
2016-08-18 18:44:57 +0000
the hour is 20 and minute is 44
2016-08-19 15:44:57 +0000
the hour is 17 and minute is 44
2016-08-18 16:44:57 +0000
the hour is 18 and minute is 44
2016-08-17 18:44:57 +0000
the hour is 20 and minute is 44
2016-08-18 18:44:57 +0000
the hour is 20 and minute is 44
2016-08-19 15:44:57 +0000
the hour is 17 and minute is 44
2016-08-18 16:44:57 +0000
the hour is 18 and minute is 44

时区正确。我尝试了另外两种解决方案。但它总是同样的问题。

result.dateForColumn("time")UTC 因为你有 +0000 而第二个输出在另一个时区 (Europe/Berlin (GMT+2)),所以日期是相同的。