Преобразование даты в формат UTC

#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
}