2012-11-27 188 views
3

我需要將一些日期,我已NSStringNSString格式爲:yyyy-MM-dd HH:mm:ss zzz 我寫這樣的代碼:轉換的NSString日期UTC日期

日期輸入:日期---> 27/03/2012

-(NSString *)setDateStringFormat:(NSString *)date 
{ 
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
    [formatter setDateFormat:@"dd/MM/yyyy"]; 
    [formatter setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]]; 
    //[formatter setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]]; 
    NSDate *dateFormatted = [formatter dateFromString:date]; 

    [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss zzz"]; 
    [formatter setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]]; 
return [formatter stringFromDate:dateFormatted]; 
} 

輸出:2012-03-27 00:00:00 GMT

,你都可以看到我得到的日期GMT而不是UTC 有人有想法嗎?

回答

5

試試這個方法..

-(NSString *)getUTCFormateDate:(NSString *)localDate 
{ 
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
    [dateFormatter setDateFormat:@"dd/MM/yyyy"]; 

    NSDate *dateFormatted = [dateFormatter dateFromString:localDate]; 
    NSTimeZone *timeZone = [NSTimeZone timeZoneWithName:@"UTC"]; 
    [dateFormatter setTimeZone:timeZone]; 
    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; 
    NSString *dateString = [dateFormatter stringFromDate:dateFormatted]; 
    [dateFormatter release]; 
    return dateString; 
} 
+0

我一下你的方法,但我需要在UTC格式字符串,並輸出結果是:2012- 03-26 22:00:00 – Sosily

+0

如果我添加yyyy-MM-dd HH:mm:ss zzz它也不是UTC – Sosily

+0

你的意思是如果你輸入26-03-2012你想輸出的是2012-03-26 00 :00:00? –

1

我認爲,這裏GMT顯示標準時間和GMT和UTC都是一樣的。 請看下面鏈接: http://wwp.greenwichmeantime.com/ http://www.worldtimeserver.com/convert_time_in_UTC.aspx

感謝

+0

我認爲你的權利謝謝你 – Sosily