2016-08-08 81 views
0

I Zeitzone Benutzer in String wie UTC+5:30 formatiert bekommenZeitzone erhalten im Format von UTC + 5: 30

ich versucht habe, wie diese zu erhalten.

NSTimeZone *timeZone=[NSTimeZone localTimeZone]; 
NSLog(@"%@ || %@",timeZone.abbreviation,timeZone.name); 

Das gibt mir diesen Ausgang. (aber bekomme keine Zeit wie ich will)

IST || Asia/Kolkata

Dank

+0

, was die Antwort, die Sie zB 5,30 oder UTC erwartet + 5: 30 –

+0

UTC + 5: 30 vorzuziehen wäre – Simmy

Antwort

1
NSDateFormatter *df = [[NSDateFormatter alloc]init]; 
df.timeZone = [NSTimeZone localTimeZone]; 
df.dateFormat = @"Z"; 
NSString *localTimeZoneOffset = [df stringFromDate:[NSDate date]]; 
NSLog(@"%@",localTimeZoneOffset); 

Sie werden wie erhalten Ausgabe,

+0530 für UTC+5:30.

Update: (wie in Kommentar gefragt)

Versuchen unter Code für das gewünschte Format,

NSDateFormatter *df = [[NSDateFormatter alloc]init]; 
df.timeZone = [NSTimeZone localTimeZone]; 
df.dateFormat = @"Z"; 
NSString *localTimeZoneOffset = [df stringFromDate:[NSDate date]]; 
NSLog(@"%@",localTimeZoneOffset); 

NSString *one = [localTimeZoneOffset substringToIndex:1]; 
NSString *two = [localTimeZoneOffset substringWithRange:NSMakeRange(1, 2)]; 
NSString *three = [localTimeZoneOffset substringWithRange:NSMakeRange(3, 2)]; 

NSString *result = [NSString stringWithFormat:@"utc%@%@:%@",one,two,three]; 

NSLog(@"result : %@",result); 
+0

können Sie es formatieren wie UTC + 5: 30 – Simmy

+0

Überprüfen Sie mein Update für dieses Format @Sam – Lion

+0

Danke, es hat funktioniert .. – Simmy

2

können Sie NSDate Formatter verwenden, um die Offset von UTC zu bekommen:

NSDateFormatter *dates = [[NSDateFormatter alloc]init]; 
[dates setDateFormat:@"Z"];  
NSLog(@"%@", [dates stringFromDate:[NSDate date]]); 

Dies wird protokollieren: + 0530 (+5: 30)

Wenn Sie es in Ihrem speziellen Format möchten, können Sie einfach tun:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init]; 
[dateFormatter setDateFormat:@"Z"]; 

NSString *offetString = [dateFormatter stringFromDate:[NSDate date]]; 

NSString *formattedString = [NSString stringWithFormat:@"UTC%@:%@",[offetString substringWithRange:NSMakeRange(0, 3)],[offetString substringWithRange:NSMakeRange([offetString length] - 2, 2)]];