2012-07-14 90 views
-2

上述格式的收件日期(2012-07-13 09:22:22 +0000)。我想將此日期格式轉換爲13-Jul-2012 09:22。而且如果日期是今天意味着我想更改Today 09:22Yesterday 09:22。任何人都可以請幫忙做到這一點?NSDateFormatter在iPhone應用程序?

編輯:

我加入了一些代碼我都試過了。

 NSDateFormatter *dateFormatter1 = [[NSDateFormatter alloc] init]; 
    [dateFormatter1 setDateFormat:@"dd-mm-yyyy hh:mm"]; 
    [dateFormatter1 setFormatterBehavior:NSDateFormatterBehaviorDefault]; 
    [dateFormatter1 setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]]; 
    NSDate *date = [dateFormatter1 dateFromString:dateStr];// Change Date Format 

    NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
    [formatter setDateStyle:NSDateFormatterShortStyle]; 
    [formatter setTimeStyle:NSDateFormatterShortStyle]; 
    [formatter setDoesRelativeDateFormatting:YES]; 
    NSString *dateString1 = [formatter stringFromDate:date]; // Getting Today or Tomorrow 
    [formatter release]; 
    NSLog(@"DateString1 : %@", dateString1); 
+2

你試過了什麼?你只需要找到合適的格式化程序。你能顯示一些代碼嗎? – shannoga 2012-07-14 16:40:27

+0

@shannoga我編輯了我的代碼。你可以幫我嗎?謝謝。 – Gopinath 2012-07-14 16:44:54

回答

0

你可以試試這個:

NSDate *date = [NSDate date]; // date in this format 2012-07-14 17:32:09 +0000 
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
    [dateFormatter setDateFormat:@"dd-MMM-yyyy hh:mm"]; 
    //[dateFormatter setTimeZone:[NSTimeZone localTimeZone]]; // Optional 
    NSString *dateStr = [dateFormatter stringFromDate:date]; 

而接下來與使用如NSDate的方法當前日期比較你的「日期」。 timeIntervalSinceReferenceDate,然後基於今天/明天的結果顯示。

1

我看到的第一個問題是,你提供給格式化日期模式不匹配,你要求你獲得的日期字符串。你可能想試試這個:

[dateFormatter1 setDateFormat:@"yyyy-mm-dd hh:mm:ss Z"]; 

使用的代碼,你提供的格式您已年,月,日逆轉,你不轉換第二。