Я считаю, что наиболее элегантным решением, которое вам нужно, является NSTimeInterval
, то есть примитивный тип, который NSDate
построен поверх.
NSTimeInterval
- это typedef для double
и является измерением времени в секундах.Этот примитивный тип времени не имеет понятия контрольной даты.Что NSDate
делает, так это добавляет эту концепцию контрольной даты и привязывает время 0,0 к 1 января 2001 года по Гринвичу.Ничто не мешает вам изобрести собственную контрольную дату или якорь , как, например, "полночь того дня, когда" "1013 *.
Что вы можете сделать, это добавить два свойства NSTimeInterval
либо startTime
и endTime
, и позволить им обоим использовать полночь в качестве ссылки.Или вы можете пропустить endTime
и пойти на комбинацию startTime
и duration
.