【问题标题】:Datepicker date format issueDatepicker日期格式问题
【发布时间】:2023-04-08 06:23:01
【问题描述】:

我正在尝试从 DatePicker 中选择一个日期。它经常正常工作,但是当我选择未来日期时,选择器将自己设置为当前日期(根据我的 maxdate 代码)。在此日期中,标签中显示当前日期,但在后端对象中,它实际上是当前日期减去 1 天。例如,在将选择器自动设置为当前日期后,它显示在标签 09-Apr-2015 但在我想要发布到服务器 api 的对象(nsdate)中,它显示 2015-04-08 18:30:00 +0000。因此我的对象在 4 月 8 日发送到服务器。如果有人遇到此问题,请回复。

【问题讨论】:

  • 在此处粘贴您的代码!
  • 你需要展示代码并提供测试细节。每条测试数据是在哪个时区登录的?这个问题没有足够的信息。
  • -(void)updateDateLabel { NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; [格式化程序 setDateStyle:NSDateFormatterMediumStyle]; self.lblDOB.text = [格式化字符串FromDate:dateOfBirth]; NSLog(@"标签日期 %@" , self.lblDOB.text); [[RKValueTransformer defaultValueTransformer] insertValueTransformer:formatter atIndex:0]; self.user.dateOfBirth = dateOfBirth; NSLog(@"本地对象日期 %@", dateOfBirth); }

标签: ios nsdateformatter uidatepicker


【解决方案1】:

这不是问题。日期选择器为您提供正确的时间,但仅限于其他时区(出现 GMT+5:30)

当您在 API 中发送日期时,使用您选择的默认时区或时区的 NSDateFormatter 将其转换为 NSString。

【讨论】:

    【解决方案2】:

    您的 GMT 设置有问题。

    试试这个代码来修复:

    [yourdataobject dateByAddingTimeInterval:[[NSTimeZone localTimeZone] secondsFromGMT]];
    

    这将自动将您的日期固定在您的应用正在运行的任何区域中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-06
      • 1970-01-01
      • 2014-05-30
      • 1970-01-01
      • 2019-08-11
      • 2015-03-13
      相关资源
      最近更新 更多