Я создаю iOS приложение с фоном Rails.
Я использовал для сохранения iOS NSDate в Rails DateTime напрямую, как это.
NSdate *date = [NSDate date];
NSDictionary *params = @{@"rails[dateTime]":date,};
Однако я обнаружил, что этот код создает ошибку, когда пользователи отключают 24 часа в настройках iOS.
(NSDate: ср. 1 января 00:00:00 2020 будет 2019-12-31T03: 00: 00.000Z внутри даты и времени Rails. )
Итак, я решил вставить NSString вместо NSDate следующим образом, и это решило проблему, описанную выше, в течение 24 часов, и, кажется, работает нормально.
NSdate *date = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SZ"];
NSString *dateString = [dateFormatter stringFromDate:date];
NSDictionary *params = @{@"rails[dateTime]":dateString,};
Это правильный способ сохранения Строка в Rails Datetime, как это?