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ı?
iPhone'da geçerli yerel saati alınıyor?
oy
32
7 cevaplar
oy 112
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);
oy 13
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]);
}
oy 12
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.
oy 10
10
Bkz bu bir cevap benzer bir soru. Eğer tarih formatına değiştirmek zorunda kalacaktır.
[[NSDate date] timeIntervalSince1970];
oy 6
6
Eğer zaman aralıklarını hesaplamak için arıyorsanız, size kullanarak daha iyi CACurrentMediaTime
double currentTime = CACurrentMediaTime();
oy 0
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.
oy 0
0
Daha kısa bir yaklaşım
NSDate * now = [NSDate date];
timeLabel.text = [NSDateFormatter localizedStringFromDate:now
dateStyle:NSDateFormatterNoStyle
timeStyle:NSDateFormatterShortStyle];













