Periodo dell'obiettivo-C
-
06-07-2019 - |
Domanda
In C #, se volessi analizzare una stringa in una data e un periodo, farei qualcosa di simile al seguente:
String input = "08:00";
DateTime time;
if (!DateTime.TryParse(input, out time))
{
// invalid input
return;
}
TimeSpan timeSpan = new TimeSpan(time.Hour, time.Minute, time.Second);
Il mio Google-Fu è stato meno che desiderabile nel trovare un modo per convertirlo in Objective-C.
Qualche suggerimento?
Soluzione
La Guida alla programmazione di data e ora per Cocoa sarà probabilmente utile per trovare un approccio che si adatti meglio alle tue esigenze. Scommetto che NSDateComponents sarà di particolare interesse: puoi ottenere un'istanza di questa classe dal - [Componenti NSCalendar: fromDate:]
metodo.
Per quanto riguarda ottenere la data da una stringa, un approccio che potresti provare è l'uso di NSDateFormatter , che ha metodi come -dateFromString:
e -stringFromDate:
per convertire tra le rappresentazioni NSString e NSDate. Puoi usare -setDateFormat:
per specificare la stringa di formato da usare per l'analisi. Una volta che hai un oggetto NSDate , puoi anche usarne uno dei suoi metodi -timeIntervalSince ...
per ottenere un NSTimeInterval che è un doppio valore, misurato in secondi.