我正在开发一个应用程序,我希望在用户设置的时间内触发本地通知,我只是面对问题才能获得正确的时间,所以我正在做的是:
NSDateFormatter *current = [[NSDateFormatter alloc] init];
[current setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]];
[current setDateFormat:@"HH:MM:SS"];
NSDate *systemTime = [NSDate date];
[current setTimeZone:[NSTimeZone systemTimeZone]];
NSLog(@"Current time %@" ,[current stringFromDate:systemTime]);
temp = [timeSetter date];//this temp is NSDATE object
NSLog(@"USer time %@" ,[current stringFromDate:temp]);
value = [temp timeIntervalSinceDate:systemTime];//This value is Nstimeinterval instance/obj.
当我通过NSLog打印时,这些是我收到的结果
答案 0 :(得分:1)
我刚刚运行了你的代码,并重现了类似的结果。问题出在-setDateFormat:
方法 - 它应该是[current setDateFormat:@"HH:mm:ss"]
- 这对我来说很合适。
在日期格式字符串M =月(02 = 2月),m =分钟,S =秒的分数和s =秒。
如果您查看date formatting上的Apple文档,您会看到格式字符串是以Unicode标准确定的。它们链接到各种版本;最近的是here