2013-03-18 3 views
0

Je suis confronté à un problème lors de la conversion date donnée dans le fuseau horaire du système dans iOS. Date de création: 2013-03-18 03:54:18 // sa en format AM La date de destination devrait être: 2013-03-18 03:30:15 // son au format PM.Convertir une date de fuseau horaire dans le fuseau horaire du système dans iOS

Comment puis-je obtenir ce ??

J'ai essayé le code ci-dessous, mais je me suis trompé de données et de différences.

NSDateFormatter *fmt = [[NSDateFormatter alloc] init]; 
fmt.dateFormat = @"yyyy-MM-dd HH:mm:ss"; 
NSLog(@"Post date::%@",postDate); 
NSDate *utc = [fmt dateFromString:postDate]; 
fmt.timeZone = [NSTimeZone systemTimeZone]; 
NSString *local = [fmt stringFromDate:utc]; 
NSLog(@" local %@", local); 

NSDate *date1 = [NSDate date]; 
NSString *currentDateString = [fmt stringFromDate:date1]; 
NSDate *currentDate = [fmt dateFromString:currentDateString]; 
NSUInteger flags = NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit; 
NSDateComponents *difference = [[NSCalendar currentCalendar] components:flags fromDate:utc toDate:currentDate options:0]; 
NSLog(@"difference::%d",[difference day]); 
NSLog(@"difference::%d",[difference hour]); 
NSLog(@"difference::%d",[difference minute]); 

EDIT: Sorties

Post date::2013-03-18 03:20:09 
local 2013-03-18 03:20:09 
difference::0 
difference::13 
difference::2 
+1

montrent les nslogs ... –

+0

Date de publication :: 18/03/2013 03:20: 09 locale 2013-03-18 03:20:09 différence :: 0 différence :: 13 différence :: 2 –

+0

montrer votre date source comme NSDate objet non en tant que chaîne –

Répondre

0
NSString *openingHour = @"15:05:35 "; 
NSDateFormatter *workingHoursFormatter = [[NSDateFormatter alloc] init]; 
     NSTimeZone *timeZone = [NSTimeZone timeZoneWithName:@"UTC"]; 
     [workingHoursFormatter setTimeZone:timeZone]; 
     [workingHoursFormatter setDateFormat:@"HH:mm"]; 
     NSDate *openingTime = [workingHoursFormatter dateFromString:openingHour]; 

Pouvez-vous essayer le code ci-dessus cela fonctionne pour moi, modifier le format de date à votre besoin

+0

Qu'est-ce que l'openingHour représente? – Ganapathy

+0

je mettre à jour la réponse pouvez-vous vérifier maintenant! – Vinodh

+0

Merci son aide moi beaucoup .... –

1

Remplacez votre code de ...

fmt.timeZone = [NSTimeZone systemTimeZone]; 

comme comme celui-ci

fmt.timeZone = [NSTimeZone localTimeZone]; 

Cette volonté fonctionne pour vous. ..

+0

Après avoir fait les changements ci-dessus je suis gettin g ci-dessous les résultats. Post date :: 2013-03-18 03:54:18 et local 2013-03-18 03:54:18 ce qui est faux .... Je veux cette date et l'heure dans mon fuseau horaire du système .... mais il montrant mal après cela ..... –

Questions connexes