2009-08-01 2 views
3

В C#, если я хотел бы разобрать строку в дату и отрезок времени, я бы сделал что-то похожее на следующее:Objective-C TimeSpan

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

My Google-Фу был меньше, чем хотелось бы в поиске способа преобразования этого объекта в Objective-C.

Любые предложения?

ответ

7

Date and Time Programming Guide for Cocoa, вероятно, будет полезен для поиска подхода, который наилучшим образом соответствует вашим потребностям. Готов поспорить, что NSDateComponents будет представлять особый интерес - вы можете получить экземпляр этого класса из метода -[NSCalendar components:fromDate:].

Насколько получать дату из строки, один подход, вы можете попробовать использует NSDateFormatter, который имеет такие методы, как -dateFromString: и -stringFromDate: конвертировать между NSString и NSDate представлений. Вы можете использовать -setDateFormat: для указания строки формата, используемой для синтаксического анализа. Когда у вас есть объект NSDate, вы также можете использовать один из его методов -timeIntervalSince..., чтобы получить NSTimeInterval, что является двойным значением, измеренным за считанные секунды.