Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 将NSstring日期转换为UTC日期_Iphone_Objective C_Ios_Xcode - Fatal编程技术网

Iphone 将NSstring日期转换为UTC日期

Iphone 将NSstring日期转换为UTC日期,iphone,objective-c,ios,xcode,Iphone,Objective C,Ios,Xcode,我需要将NSString中的一些日期转换为NSString格式:yyyy-MM-dd HH:MM:ss-zzz 我写这段代码: 日期输入:日期--->2012年3月27日 -(NSString *)setDateStringFormat:(NSString *)date { NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; [formatter setDateFormat:@"dd/MM/yyyy"]

我需要将
NSString
中的一些日期转换为
NSString
格式:
yyyy-MM-dd HH:MM:ss-zzz
我写这段代码:

日期输入:日期--->2012年3月27日

-(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

大家可以看到,我是在
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;
}

我认为,这里的格林尼治标准时间和格林尼治标准时间和UTC都是一样的。 请浏览以下连结: http://www.worldtimeserver.com/convert_time_in_UTC.aspx


谢谢

我尝试了你的方法,但我需要UTC格式的字符串,输出是:2012-03-26 22:00:00,如果我添加yyyy-MM dd HH:MM:ss zzz,也不是说如果你输入26-03-2012,你想要的输出是2012-03-26 00:00??@Sosily单击此链接并查看我的博客和日期信息