Я пытаюсь получить первый день месяца, но получаю значение UTC. Я думаю, что вместо этого мне нужна моя локальная дата?
Как получить фактический первый день месяца, возможно с моим часовым поясом?
Ответы (1)
Я пробовал это сам:
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *dateComponents = [gregorian components:( NSYearCalendarUnit |
NSMonthCalendarUnit | NSDayCalendarUnit ) fromDate:[NSDate date]];
[dateComponents setDay:1];
NSLog(@"%@", [gregorian dateFromComponents:dateComponents]);
И он правильно печатает 2015-04-30 22:00:00 +0000
, что будет 1 мая, после добавления 2-часовой (в моем случае) разницы во времени. Просто перепроверьте свой код, кажется, что self.calender.currentDate
указывает неправильный месяц?
person
Artrmz
schedule
08.05.2015
это была другая проблема.
- person Jules; 11.05.2015
NSDate
всегда в формате UTC. Если вы хотите получить строку с другим часовым поясом, вот ответ stackoverflow.com/questions/14592556/ - person Artrmz   schedule 08.05.2015