2011-08-05 61 views
0

我爲了得到如下的當前日期我使用的日期格式字符串今天的日期是星期五/ 05-08-2011,然後按下按鈕應該顯示星期四/ 04-08-2011。 我怎樣才能做到這一點?遞減日期由1按下按鈕

回答

5

這樣的代碼(除了上面的答案)在4.0

- dateByAddingTimeInterval:及更高版本,可以使用- 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]; 
} 
+0

檢查更新後的答案。 – Ishu

5

訣竅是使用時間間隔。 Date and Time Programming Guide有更多關於此的信息。

基本上,NSDate有一個方法,允許您將時間間隔添加到當前日期。

- (id)dateByAddingTimeInterval:(NSTimeInterval)seconds 

爲了得到昨天的日期,你想從它抓住今天的日期,並減去24 * 60 * 60(秒總排名第一天)。

NSDate *today = [NSDate date]; 
NSDate *yesterday = [today dateByAddingTimeInterval: -86400.0]; 

這有幫助嗎?

+0

@Sadumerry:在答案中提供你的日期而不是今天的日期。在減去timeInterval後更新該日期 – visakh7