iphone – 将NSstring日期转换为UTC日期

前端之家收集整理的这篇文章主要介绍了iphone – 将NSstring日期转换为UTC日期前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要将我在NSString中的某些日期转换为NSString格式:yyyy-MM-dd HH:mm:ss zzz
我写这段代码

日期输入:日期—> 27/03/2012

-(NSString *)setDateStringFormat:(NSString *)date 
 {
     NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
     [formatter setDateFormat:@"dd/MM/yyyy"];
     [formatter setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]];
     //[formatter setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]];
     NSDate *dateFormatted = [formatter dateFromString:date];

     [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss zzz"];
     [formatter setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]];
 return [formatter stringFromDate:dateFormatted];
 }

输出:2012-03-27 00:00:00 GMT

你们都可以看到我在格林尼治标准时间而不是在UTC中获得了日期
有人有想法吗?

解决方法

试试这个方法..

-(NSString *)getUTCFormateDate:(NSString *)localDate
{
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"dd/MM/yyyy"];

    NSDate *dateFormatted = [dateFormatter dateFromString:localDate];
    NSTimeZone *timeZone = [NSTimeZone timeZoneWithName:@"UTC"];
    [dateFormatter setTimeZone:timeZone];
    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
    NSString *dateString = [dateFormatter stringFromDate:dateFormatted];
    [dateFormatter release];
    return dateString;
}

猜你在找的Xcode相关文章