我有一个格式为Tue May 22 2012 11.00 pm
的字符串。现在我需要将其转换为NSDate
,然后获取当前日期和时间格式NSDate *currentDate = [NSDate today];
。计算两次之间的时间差 - 逻辑问题
然后找到2
我无法来解决这个之间的Seconds
的时间差,请帮助我
我有一个格式为Tue May 22 2012 11.00 pm
的字符串。现在我需要将其转换为NSDate
,然后获取当前日期和时间格式NSDate *currentDate = [NSDate today];
。计算两次之间的时间差 - 逻辑问题
然后找到2
我无法来解决这个之间的Seconds
的时间差,请帮助我
我有一个格式为Tue May 22 2012 11.00 pm的字符串。现在,我需要将其转换成NSDate的
好这部分,你需要一个`NSDateFormatter``
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"EEE MM dd yyyy hh.mm a"];
NSDate *dateFromString =[df dateFromString:yourString];
这是第一部分。
现在的
然后找到2
NSTimeIntervall diffInSeconds = [dateFromString timeIntervalSinceNow];
这间以秒为单位的时间差将计算dateFromString
和现在之间的秒数。
有关日期和时间在可可工作,我非常奥莱电子书籍的Begemenans "Working with Date and Time in Cocoa Series"
我试过这个'NSDate * dateFromString = [df dateFromString:@“Mon May 21 2012 11.00 pm”];'但是我得到的输出是'Mon 12 26 2011 11.00 PM'。显示不正确的日期。 –
NSDateFormatter * df = [[NSDateFormatter alloc] init]; [df setDateFormat:@“EEE MM dd YYYY hh.mm a”]; df.timeZone = [NSTimeZone timeZoneForSecondsFromGMT:0]; NSDate * dateFromString = [df dateFromString:@“Mon May 2012 2012 11.00 pm”]; NSTimeInterval diffInSeconds = [dateFromString timeIntervalSinceNow]; NSLog(@“%@”,[df stringFromDate:dateFromString]); 我的代码 –
'2011-12-26 23:00:00 +0000 '我得到了2011年的日期。但是我在字符串中输入的是2012年的日期 –
-dateFromString:
方法NSDateFormatter
类应该帮助更多资料。
然后-timeIntervalSinceNow
的NSDate
给出了时间间隔。您不需要中间步骤[NSDate today]
。
使用NSDateFormatter将字符串日期为2012年5月22日下午11点00分至NSDate。您还需要在nsdateformatter中设置字符串日期的时区。
例子:
NSDateFormatter * frmt;
frmt = [[NSDateFormatter alloc] init];
frmt.dateFormat = @"yyyy-MM-dd HH:mm:ss";
frmt.timeZone = [NSTimeZone timeZoneForSecondsFromGMT:0];
您将需要使用对应于您的字符串的日期格式。
然后你得到使用
[frmt dateFromString:(NSString *)dateString]
那么你可以使用-timeIntervalSinceDate
如果是本地时间,你不能比较两个的NSDate您的NSDate。例如,在我们将时钟设置回一个小时的那一天,有些时候会重复两次。至少,您还需要知道指定的时间是白天时间还是标准时间。 –