#iphone #objective-c
#iPhone #objective-c
Вопрос:
Я хочу преобразовать локальную дату в формат UTC.(Формат США)
Комментарии:
1. используйте nsdate formatter и попробуйте выполнить поиск в более старом сообщении … там много похожих сообщений.. и, пожалуйста, опубликуйте формат, который вы хотите получить.
Ответ №1:
-(NSString *)getUTCFormateDate:(NSDate *)localDate
{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSTimeZone *timeZone = [NSTimeZone timeZoneWithName:@"UTC"];
[dateFormatter setTimeZone:timeZone];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSString *dateString = [dateFormatter stringFromDate:localDate];
[dateFormatter release];
return dateString;
}
Комментарии:
1. @barfoon: часовой пояс не является собственностью и является автоматически освобождаемым объектом. Поэтому нет необходимости выпускать его.
Ответ №2:
Вы должны установить NSTimeZone
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"YYYY-MM-dd HH:mm:ss"];
[dateFormat setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];
NSDate *date=[dateFormat dateFromString:[NSString stringWithFormat:@"%@",dateString]];
NSLog(@"Date %@",date);
Ответ №3:
Версия Swift 4.2:
func dateAsString(inputDate: Date)->String
{
let format = DateFormatter.init()
format.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"
format.timeZone = TimeZone.init(identifier: "UTC")
let str = format.string(from: inputDate)
return str
}