gpt4 book ai didi

ios - 从UIDatePicker返回的格式化日期

转载 作者:行者123 更新时间:2023-12-01 16:43:21 26 4
gpt4 key购买 nike

我有一个UIDatePicker设置为仅选择一个日期(无时间)。我想采用用户选择的值并将其重新格式化。我得到的值包括日期,时间和时区。

我已经准备好NSDateFormatter并准备好要设置的语言环境和格式。问题是当我尝试格式化日期时,格式化程序的方法调用返回nil:

NSDate *pickedDate = self.datePicker.date;
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setLocale: [[NSLocale alloc] initWithLocaleIdentifier: @"en_US"]];
[formatter setDateFormat: @"MM/dd"];

NSString *formattedDate = [formatter stringFromDate: pickedDate]; // nil

看起来从 self.datePicker.date返回的值已经被格式化为字符串。我读过 NSDates不包含时区。但是,Apple的文档非常清楚地指出 dateUIDatePicker属性返回 NSDate

我还做了一些日志记录,以查看返回的类型是什么,并且发现有细微的区别:
NSLog("%@", [self.datePicker.date class]); // logs "__NSDate"
NSLog("%@", [NSDate class]); // logs "NSDate"

有没有人遇到过这个问题,如果是的话,您如何格式化 NSDate?我正在尝试将日期格式设置为 MM/dd以用作 NSDictionary对象中的键,并且我只需要月份和日期,年份和时间并不重要。

最佳答案

无需定义时区和语言环境,它将自动从您的系统中获取。
使用相同的代码而不清除语言环境和时区,希望它对您有用...

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"MM/dd"];
NSString *dateString = [dateFormatter stringFromDate:self.datePicker.date];

关于ios - 从UIDatePicker返回的格式化日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22274421/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com