NSDate返回错误的时间

问题描述

我试图从使用iOS 14.0.1来运行此代码的NSDate对象获取时间。

    NSDate *date = self.wakeUpView.timePicker.date;
    NSTimeInterval secondsFromGMT = [[NSTimeZone localTimeZone] secondsFromGMT];
    NSLog(@"inital date selected: %@",date);
    NSDate *correctDate = [date dateByAddingTimeInterval:secondsFromGMT];
    NSLog(@"correct date: %@",correctDate);        //this is correct according to the time I selected
    NSLog(@"The hour I want: %ld",(long)correctDate.br_hour);    
    NSLog(@"Also tried: %ld",(long)[correctDate br_hour]);

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:@"HH:mm"];

    NSString *dateString = [formatter stringFromDate:correctDate];
    NSLog(@"formatted date: %@",dateString);

以下是输出:

inital date selected: 2020-09-29 14:34:00 +0000
correct date: 2020-09-29 22:34:00 +0000
The hour I want: 6
Also tried: 6
formatted date: 06:34

对于此输出,我在日期选择器中选择了晚上10:34。

使用correctDate.br_minute可以正确显示分钟。如何获得正确的时间?任何帮助,将不胜感激。谢谢您的时间

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)