1

我正在开发一个 iPad 应用程序,该应用程序与我为与数据库通信而构建的私有 PHP API 对话。这个 API 必须传输三个日期,一个开始时间,一个结束时间和当前时间。

我想测试当前时间是否在日期范围之间。所以我把时间(比如 16:50:00)转换成 NSDates:

NSDateFormatter *former = [[NSDateformatter alloc] init];
[former setDateFormat:@"HH:mm:ss"];
[former setLocale:[NSLocale currentLocale]];

NSDate *fromDate = [former dateFromString:@"10:15:00"];
NSDate *nowDate = [former dateFromString:@"13:25:00"];
NSDate *toDate = [former dateFromString:@"16:30:00"];

当我现在使用 记录日期时,NSLog(@"\n%@\n%@\n%@", fromDate, nowDate, toDate);我发现语言环境不正确。

似乎 NSDateFormatter 只是忽略了语言环境设置。我还记录了正确的 currentLocales 标识符(在我的例子中是“de_DE”)。语言环境仍然是 +0000。

我该如何解决这个问题?谢谢,致以诚挚的问候,朱利安

4

1 回答 1

2

好的,我已经删除了之前的答案,请尝试以下

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
NSTimeZone *zone = [NSTimeZone localTimeZone];
[formatter setTimeZone:zone];
[formatter setDateFormat:@"HH:mm:ss"];

NSDate *date = [formatter dateFromString:@"10:15:00"];

NSLog(@"Time %@",[formatter stringFromDate:date]);
于 2012-12-07T04:49:50.557 回答