我有一个格式为Tue May 22 2012 11.00 pm
. 现在我需要将其转换为NSDate
然后获取当前的日期和时间形式NSDate *currentDate = [NSDate today];
。
然后找出两者Seconds
之间的时间差。
我无法解决这个问题,请帮助我
我有一个格式为Tue May 22 2012 11.00 pm
. 现在我需要将其转换为NSDate
然后获取当前的日期和时间形式NSDate *currentDate = [NSDate today];
。
然后找出两者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
现在的秒数。
有关在可可中使用日期和时间的更多信息,我强烈推荐 Ole Begemenans “在可可系列中使用日期和时间”
使用 NSDateFormatter 将您的字符串日期 Tue May 22 2012 11.00 pm 转换为 NSDate。您还需要在 nsdateformatter 中设置字符串日期的时区。
例子:
NSDateFormatter * frmt;
frmt = [[NSDateFormatter alloc] init];
frmt.dateFormat = @"yyyy-MM-dd HH:mm:ss";
frmt.timeZone = [NSTimeZone timeZoneForSecondsFromGMT:0];
您将需要使用与您的字符串相对应的 dateFormat。
然后你得到你的 nsdate 使用
[frmt dateFromString:(NSString *)dateString]
那么你可以使用比较两个 NSDate-timeIntervalSinceDate
-dateFromString:
类方法NSDateFormatter
应该有帮助。
然后-timeIntervalSinceNow
ofNSDate
给出时间间隔。您不需要中间步骤[NSDate today]
。