Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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
Swift 通过组件从NSDate获取小时数_Swift_Date_Nsdate_Nsdateformatter - Fatal编程技术网

Swift 通过组件从NSDate获取小时数

Swift 通过组件从NSDate获取小时数,swift,date,nsdate,nsdateformatter,Swift,Date,Nsdate,Nsdateformatter,我不确定我在这里错过了什么。我在swift中有日期对象,打印出描述,它是:“2000-01-01 07:00:00+0000” let formatter=DateFormatter() formatter.dateFormat=“h:mm” 让durationDate=DateHelper.durationFormatter.date(从:“07:00”)! 让小时数=Calendar.current.component(.hour,from:durationDate) 出于某种奇怪的原因,

我不确定我在这里错过了什么。我在swift中有日期对象,打印出描述,它是:“2000-01-01 07:00:00+0000”

let formatter=DateFormatter()
formatter.dateFormat=“h:mm”
让durationDate=DateHelper.durationFormatter.date(从:“07:00”)!
让小时数=Calendar.current.component(.hour,from:durationDate)

出于某种奇怪的原因,小时数显示为0。不确定我在这里遗漏了什么?

看起来我没有考虑时区。我离UTC还有+7个小时,所以计算结果完全是零。

通常情况下,您应该在当地时间获得信息。在你的
DateHelper
中,你必须将“07:00”视为UTC时间。是的,在问问题两秒钟后意识到,哈哈。