Récupération heure sur l'iPhone?

voix
32

Je cherche à obtenir l'heure et les minutes sur l'iPhone d'un utilisateur pour l'affichage dans une application qui ne montre pas la barre d'état. Est-il un moyen simple de le faire?

Créé 19/02/2009 à 18:12
source utilisateur
Dans d'autres langues...                            


7 réponses

voix
112
// get current date/time
NSDate *today = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
// display in 12HR/24HR (i.e. 11:25PM or 23:25) format according to User Settings
[dateFormatter setTimeStyle:NSDateFormatterShortStyle];
NSString *currentTime = [dateFormatter stringFromDate:today];
[dateFormatter release];
NSLog(@"User's current time in their preference format:%@",currentTime);
Créé 23/10/2009 à 07:29
source utilisateur

voix
13
-(void)currentTime
{    
    //Get current time
    NSDate* now = [NSDate date];
    NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
    NSDateComponents *dateComponents = [gregorian components:(NSCalendarUnitHour  | NSCalendarUnitMinute | NSCalendarUnitSecond) fromDate:now];
    NSInteger hour = [dateComponents hour];
    NSString *am_OR_pm=@"AM";

    if (hour>12)
    {
        hour=hour%12;

        am_OR_pm = @"PM";
    }

    NSInteger minute = [dateComponents minute];
    NSInteger second = [dateComponents second];
    [gregorian release];

    NSLog(@"Current Time  %@",[NSString stringWithFormat:@"%02ld:%02ld:%02ld %@", (long)hour, (long)minute, (long)second,am_OR_pm]);
}
Créé 14/08/2012 à 07:44
source utilisateur

voix
12
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateStyle:NSDateFormatterMediumStyle];
[dateFormatter setTimeStyle:NSDateFormatterMediumStyle];
[dateFormatter setTimeZone:[NSTimeZone localTimeZone]];
NSString *currentTime = [dateFormatter stringFromDate:[NSDate date]]
[dateFormatter release]; dateFormatter = nil;

Je pense que vous devriez essayer. Le timeZone est important.

Créé 29/06/2011 à 04:23
source utilisateur

voix
10

Voir cette même question pour une réponse. Vous devrez changer à votre format de date.

[[NSDate date] timeIntervalSince1970];
Créé 19/02/2009 à 18:20
source utilisateur

voix
6

si vous êtes à la recherche pour le calcul des intervalles de temps, vous feriez mieux d'utiliser CACurrentMediaTime

double currentTime = CACurrentMediaTime();
Créé 26/11/2012 à 13:13
source utilisateur

voix
0

CFAbsoluteTimeGetCurrent ()

Le temps absolu est mesuré en secondes par rapport à la date de référence absolue du 1 janvier 2001 00:00:00 GMT. Une valeur positive représente une date postérieure à la date de référence, une valeur négative représente une date devant elle. Par exemple, le temps absolu -32940326 est équivalent au 16 Décembre 1999 à 17:54:34. Les appels répétés à cette fonction ne garantissent pas les résultats de plus en plus de façon monotone. Le temps du système peut diminuer en raison de la synchronisation avec des références de temps externes ou en raison d'un changement explicite de l'utilisateur de l'horloge.

Créé 05/04/2017 à 09:51
source utilisateur

voix
0

Une approche plus courte

NSDate * now = [NSDate date];
timeLabel.text = [NSDateFormatter localizedStringFromDate:now
                                                dateStyle:NSDateFormatterNoStyle
                                                timeStyle:NSDateFormatterShortStyle];
Créé 23/10/2016 à 17:20
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more