2013-01-08 81 views

回答

6

服務器的格式是否一致?

你需要使用日期和時間來進行排序等任何事情......或者爲了做時間補充或者你只是顯示它們嗎?

如果你只是顯示他們和字符串的格式不會改變,那麼你可以做到這一點...

//assumption 1: the format is <date>space<time>space<timezone> 
//assumption 2: the only purpose is to display the values sent from the server. 

NSString *dateString = @"2013-01-08 07:52:00 +0000"; 
NSArray *components = [dateString componentsSeparatedByString:@" "]; 
NSString *date = components[0]; 
NSString *time = components[1]; 
+0

謝謝,我的只是正確的,雖然如果從服務器的格式是適合的顯示。隨着你的你可以改變顯示格式的月份,時間等... :-) – Fogmeister

+0

亞..但對於一個誰不需要任何改變,這很適合 –

+0

看到..他接受!意味着,他不想要任何靈活性!好答案 –

0

請從字符串創建日期:

NSString to NSDate

,然後使用這些(或將其轉換回字符串)。這是保存。

無論如何,你應該有一個NSXate之前,NSString - 你呢?爲什麼不保留那個?

+0

從服務器獲取它作爲字符串。 – Sat

1

嘗試下面的代碼,

NSString *maindateString = @"2013-01-08 07:52:00 +0000"; 
    NSDateFormatter *myFormat = [[NSDateFormatter alloc] init]; 
    [myFormat setDateFormat:@"yyyy-mm-dd hh:mm:ss Z"]; 
    NSDate *mainDateDate = [myFormat dateFromString:maindateString]; 
    [myFormat setDateFormat:@"yyyy-mm-dd"]; 
    NSString *stringDate = [myFormat stringFromDate:mainDateDate]; 

檢查NSStringstringDate並沒有你所需要的:-)

編輯:爲了讓時間字符串,添加以下代碼:

NSDateFormatter *myFormat2 = [[NSDateFormatter alloc] init]; 
    [myFormat2 setDateFormat:@"HH:mm:ss"]; 
    NSString *stringTime = [myFormat2 stringFromDate:mainDateDate]; 
    NSLog(@"%@",stringTime); 

Regards

+0

2件事:你的答案中的月份格式不正確,你爲什麼要減去5.5小時以獲得GMT? –

+0

@AshleyMills嗨,如果我沒有減去時間間隔,時間得到提前5.30,這是我們在印度的時區,與格林尼治標準時間相比 –

2

做的第一件事是你的日期字符串轉換爲NSDate

NSDateFormatter * formatter = [[NSDateFormatter alloc] init]; 
[formatter setDateFormat:@"yyyy-MM-dd hh:mm:ss Z"]; 
NSDate * date = [formatter dateFromString: @"2013-01-08 07:52:00 +0000"]; 

然後,您可以使用格式化程序來反轉過程並返回日期和時間。您可以根據需要調整每種格式。

[formatter setTimeStyle:NSDateFormatterShortStyle]; // Get the time only 
[formatter setDateStyle:NSDateFormatterNone]; 
NSString * timeString = [formatter stringFromDate: date]; 

[formatter setTimeStyle:NSDateFormatterNone]; 
[formatter setDateStyle:NSDateFormatterShortStyle]; // Get the date only 
NSString * dateString = [formatter stringFromDate: date]; 
相關問題