iPhone'da geçerli yerel saati alınıyor?

oy
32

Ben durum çubuğunu göstermez bir uygulamada ekran için bir kullanıcının iPhone'da Saat ve dakikayı almak için arıyorum. Bunu yapmanın kolay bir yolu var mı?

Oluştur 19/02/2009 saat 18:12
kaynak kullanıcı
Diğer dillerde...                            


7 cevaplar

oy
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);
Cevap 23/10/2009 saat 07:29
kaynak kullanıcı

oy
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]);
}
Cevap 14/08/2012 saat 07:44
kaynak kullanıcı

oy
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;

Bunu denemelisiniz bence. Saat dilimi önemlidir.

Cevap 29/06/2011 saat 04:23
kaynak kullanıcı

oy
10

Bkz bu bir cevap benzer bir soru. Eğer tarih formatına değiştirmek zorunda kalacaktır.

[[NSDate date] timeIntervalSince1970];
Cevap 19/02/2009 saat 18:20
kaynak kullanıcı

oy
6

Eğer zaman aralıklarını hesaplamak için arıyorsanız, size kullanarak daha iyi CACurrentMediaTime

double currentTime = CACurrentMediaTime();
Cevap 26/11/2012 saat 13:13
kaynak kullanıcı

oy
0

CFAbsoluteTimeGetCurrent ()

Mutlak zaman 1 Ocak 2001 00:00:00 GMT mutlak referans tarihine göre saniyede ölçülür. Pozitif bir değer, negatif bir değer daha önce bir tarihi gösteren bir referans tarihinden sonra bir tarih temsil eder. Örneğin, mutlak zaman -32940326 16 Aralık, 17:54:34 1999 eşdeğerdir. Bu işleve Tekrarlanan çağrılar monoton artan sonuçlarını garanti etmez. Sistem saatini nedeniyle saatin bir açık kullanıcı değişimine dış zaman referanslarla veya senkronizasyon nedeniyle azalabilir.

Cevap 05/04/2017 saat 09:51
kaynak kullanıcı

oy
0

Daha kısa bir yaklaşım

NSDate * now = [NSDate date];
timeLabel.text = [NSDateFormatter localizedStringFromDate:now
                                                dateStyle:NSDateFormatterNoStyle
                                                timeStyle:NSDateFormatterShortStyle];
Cevap 23/10/2016 saat 17:20
kaynak kullanıcı

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