Keresem, hogy az aktuális órát és percet a felhasználó iPhone kijelzőjén megjelenő olyan alkalmazás, amely nem mutatja az állapotsorban. Van egy egyszerű módja annak, hogy ezt?
Visszakeresése aktuális helyi idő iPhone?
szavazat
32
7 válasz
szavazat 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);
szavazat 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]);
}
szavazat 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;
Azt hiszem, meg kell próbálnia ezt. Az időzóna fontos.
szavazat 10
10
Lásd ezt a hasonló kérdést a választ. Meg kell változtatni a dátum formátumát.
[[NSDate date] timeIntervalSince1970];
szavazat 6
6
Ha keres, hogy időtartamok számítása, akkor jobban járnak CACurrentMediaTime
double currentTime = CACurrentMediaTime();
szavazat 0
0
CFAbsoluteTimeGetCurrent ()
Abszolút idő másodpercben mért az abszolút referencia-időpont január 1, 2001 00:00:00 GMT. A pozitív érték jelentése időpont után a referencia-időpont, a negatív érték jelentése időpont előtt. Például, az abszolút idő -32940326 egyenértékű december 16, 1999 at 17:54:34. Ismételt hívások ez a funkció nem garantálják monoton növekvő eredményeket. A rendszer idő csökkenhet a szinkronizáció külső idő referenciák, illetve annak köszönhető, hogy a felhasználó kifejezett változás az óra.
szavazat 0
0
A rövidebb megközelítés
NSDate * now = [NSDate date];
timeLabel.text = [NSDateFormatter localizedStringFromDate:now
dateStyle:NSDateFormatterNoStyle
timeStyle:NSDateFormatterShortStyle];













