2013-11-21 59 views
-1

我使用JSON返回的估計時間在這種格式拉着一個字符串:「YYYY-MM-DDTHH:MM:SS-06:00」字符串操作和格式化

我不知道如何去關於擺脫不必要的信息。我需要的是這樣的格式:hh:mm。

我沒有得到任何輸出。

NSDate *date = [timeResults objectAtIndex:indexPath.row]; 
NSDateFormatter* dateFormatter = [NSDateFormatter new]; 
[dateFormatter setDateFormat:@"hh:mm"]; 
NSString* stringFromDate = [dateFormatter stringFromDate:date]; 
cell.detailTextLabel.text = stringFromDate; 

更新: 我發現一個黑客得到它做工作的日期格式是問題。如果我將它用作日期格式,它會有點作用:@「yyyy」 - 'MM' - 'dd'T'HH':'mm':'ssz':'00'。

+0

BTW:該格式是帶有時區偏移量的標準[ISO8601](http://en.wikipedia.org/wiki/ISO_8601)。 – user2864740

+1

之前downvoting任何問題評論之前,同樣的問題的人誰會理解他的錯誤的原因。 –

回答

0

我發現一個黑客得到它的工作日期格式是問題。如果我將它用作日期格式,它會有點作用:@「yyyy」 - 'MM' - 'dd'T'HH':'mm':'ssz':'00'。

1

NSDateFormatter你需要

NSDateFormatter *HHmm = [NSDateFormatter new]; 

NSString *format = @"HH:mm"; //If you want use 24H format 
NSString *format = @"hh:mm"; //If you want use 12H format 

[HHmm setDateFormat:format]; 

關於格式,你可以在這裏閱讀 - http://unicode.org/reports/tr35/tr35-6.html#Date_Format_Patterns

當然,如果你想使用非默認的語言環境[NSLocale currentLocale]

NSString *identifier = [NSLocale currentLocale]; 
NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:identifier]; 
[HHmm setLocale:locale]; 

(標識符的完整列表,你可以尋找使用方法[NSLocale availableLocaleIdentifiers]

NSString *stringHHmm = [HHmm stringFromDate:NSDateObject] 
+1

不,這不完全正確。您的答案不考慮語言環境。 – uchuugaka

+0

不知道我在做什麼錯,但我沒有得到任何輸出。 (看看我的編輯) –

+0

你的日期對象是什麼? –

1

將您從解析中獲得的值以原樣存儲在NSDate對象中,然後根據需要使用stringFromDate進行格式化。

NSDateFormatter* dateFormatter = [[NSDateFormatter alloc]init]; 
    //set your format 
    [dateFormatter setDateFormat:@""yyyy-mm-ddThh:mm:ss-06:00""]; 
    [dateFormatter setFormatterBehavior:NSDateFormatterBehaviorDefault]; 

    NSDate dateFrmParser = [dateFormatter dateFromString:<parsedDateString>]; 
    [dateFormatter setDateFormat:@"hh:mm"]; 
    NSString* stringFromDate = [dateFormatter stringFromDate:dateFrmParser];