// SDLDateTime.m // #import "SDLDateTime.h" #import "NSMutableDictionary+Store.h" #import "SDLNames.h" @implementation SDLDateTime - (instancetype)initWithHour:(UInt8)hour minute:(UInt8)minute { self = [self init]; if (!self) { return nil; } self.hour = @(hour); self.minute = @(minute); return self; } - (instancetype)initWithHour:(UInt8)hour minute:(UInt8)minute second:(UInt8)second millisecond:(UInt16)millisecond { self = [self initWithHour:hour minute:minute]; if (!self) { return nil; } self.second = @(second); self.millisecond = @(millisecond); return self; } - (instancetype)initWithHour:(UInt8)hour minute:(UInt8)minute second:(UInt8)second millisecond:(UInt16)millisecond day:(UInt8)day month:(UInt8)month year:(UInt16)year { self = [self initWithHour:hour minute:minute second:second millisecond:millisecond]; if (!self) { return nil; } self.day = @(day); self.month = @(month); self.year = @(year); return self; } - (instancetype)initWithHour:(UInt8)hour minute:(UInt8)minute second:(UInt8)second millisecond:(UInt16)millisecond day:(UInt8)day month:(UInt8)month year:(UInt16)year timezoneMinuteOffset:(UInt8)timezoneMinuteOffset timezoneHourOffset:(int)timezoneHourOffset { self = [self initWithHour:hour minute:minute second:second millisecond:millisecond day:day month:month year:year]; if (!self) { return nil; } self.timezoneMinuteOffset = @(timezoneMinuteOffset); self.timezoneHourOffset = @(timezoneHourOffset); return self; } - (void)setMillisecond:(NSNumber *)millisecond { [store sdl_setObject:millisecond forName:SDLNameMillisecond]; } - (NSNumber *)millisecond { return [store sdl_objectForName:SDLNameMillisecond]; } - (void)setSecond:(NSNumber *)second { [store sdl_setObject:second forName:SDLNameSecond]; } - (NSNumber *)second { return [store sdl_objectForName:SDLNameSecond]; } - (void)setMinute:(NSNumber *)minute { [store sdl_setObject:minute forName:SDLNameMinute]; } - (NSNumber *)minute { return [store sdl_objectForName:SDLNameMinute]; } - (void)setHour:(NSNumber *)hour { [store sdl_setObject:hour forName:SDLNameHour]; } - (NSNumber *)hour { return [store sdl_objectForName:SDLNameHour]; } - (void)setDay:(NSNumber *)day { [store sdl_setObject:day forName:SDLNameDay]; } - (NSNumber *)day { return [store sdl_objectForName:SDLNameDay]; } - (void)setMonth:(NSNumber *)month { [store sdl_setObject:month forName:SDLNameMonth]; } - (NSNumber *)month { return [store sdl_objectForName:SDLNameMonth]; } - (void)setYear:(NSNumber *)year { [store sdl_setObject:year forName:SDLNameYear]; } - (NSNumber *)year { return [store sdl_objectForName:SDLNameYear]; } - (void)setTimezoneMinuteOffset:(NSNumber *)timezoneMinuteOffset { [store sdl_setObject:timezoneMinuteOffset forName:SDLNameTimezoneMinuteOffset]; } - (NSNumber *)timezoneMinuteOffset { return [store sdl_objectForName:SDLNameTimezoneMinuteOffset]; } - (void)setTimezoneHourOffset:(NSNumber *)timezoneHourOffset { [store sdl_setObject:timezoneHourOffset forName:SDLNameTimezoneHourOffset]; } - (NSNumber *)timezoneHourOffset { return [store sdl_objectForName:SDLNameTimezoneHourOffset]; } @end