这真的很奇怪,下面的代码采用 self.danceTimeIn(它的文本状态)并将其转换为实际时间。问题是它比输入的时间少 1 小时。这意味着如果我输入 14:03,我将在数据库中得到 13:03!这段代码的日期版本也发生了同样的事情
++++++++++++++++++++++++
时间
NSString *danceTimeIn = self.danceTimeIn.text;
NSDateFormatter *timeFormatIn = [[NSDateFormatter alloc] init];
[timeFormatIn setDateFormat:@"HH:mm"];
NSDate *timeIn = [timeFormatIn dateFromString: danceTimeIn];
日期
NSString *danceDateValue = self.danceDate.text;
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"MM/dd/yy"];
NSDate *date = [dateFormat dateFromString: danceDateValue];
++++++++++++++++++++++++
有人吗???
最佳答案
尝试使用它。 NSDateFormater 根据您的设备设置的区域设置更改日期,如果您正确设置区域设置,您将获得正确的日期。试试这是否有效:)
NSString *danceTimeIn = self.danceTimeIn.text;
NSDateFormatter *timeFormatIn = [[NSDateFormatter alloc] init];
[timeFormatIn setDateFormat:@"HH:mm"];
NSLocale *usLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
[timeFormatIn setLocale:usLocale];
NSDate *timeIn = [timeFormatIn dateFromString: danceTimeIn];
关于ios - 在 iOS/Objective C 下输入的日期和时间是 1 小时或休息日,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19515902/