Muh*_*.HS 0 iphone nsdateformatter
我使用日期格式化程序字符串,以获取当前日期,如下所示:
NSDateFormatter* dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
dateFormatter.dateFormat = @"EEEE / dd-MM-yyyy";
timeLabel.text = [dateFormatter stringFromDate:[NSDate date]];
Run Code Online (Sandbox Code Playgroud)
现在我需要在按下按钮时将日期减1,如果今天的日期是星期五/ 05-08-2011,那么按下按钮它应该显示星期四/ 04-08-2011.我怎样才能实现这一目标?
诀窍是使用时间间隔.该日期和时间编程指南有一些这方面的更多信息.
基本上,NSDate
有一种方法允许您向当前日期添加时间间隔.
- (id)dateByAddingTimeInterval:(NSTimeInterval)seconds
Run Code Online (Sandbox Code Playgroud)
为了获得昨天的日期,你想要获取今天的日期并从中减去24*60*60(一天中的总秒数).
NSDate *today = [NSDate date];
NSDate *yesterday = [today dateByAddingTimeInterval: -86400.0];
Run Code Online (Sandbox Code Playgroud)
这有帮助吗?
像这样的代码(除了上面的答案)
- dateByAddingTimeInterval:
在4.0及更高版本中可用,您可以使用- addTimeInterval
较低版本(在4.0或更高版本中弃用).
-(IBAction)decrementDate
{
NSString *dateForDecrement=timeLabel.text;
NSDateFormatter* dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
dateFormatter.dateFormat = @"EEEE / dd-MM-yyyy";
NSDate *dateObjectForDecrement=[dateFormatter dateFromString:dateForDecrement];
NSDate *dateAfterDecrement=[dateObjectForDecrement addTimeInterval:-(24*60*60)];
timeLabel.text = [dateFormatter stringFromDate:dateAfterDecrement];
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1002 次 |
最近记录: |