2

我有一个来自服务器的类似“2013-09-05T06:40:19Z”的日期字符串,我想将其转换为日期,格式应该与我的 iphone 相同。

这个怎么做 ?我什么时候做这个?

NSDateFormatter *dateFormatter1 = [[NSDateFormatter alloc] init];       
[dateFormatter1 setDateFormat:@"MMM dd yyyy"];       
[dateFormatter1 setLocale:[NSLocale currentLocale]];        
[dateFormatter1 setTimeZone:[NSTimeZone systemTimeZone]];       
NSDate *date =[dateFormatter1 dateFromString:time];
NSLog(@"%@",date)//getting null here 

我的日期为空。

4

3 回答 3

2
NSString *dateStr = @"2013-09-05T06:40:19Z";
NSString *outDateFormate = @"MMM dd yyyy";
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setLocale:[NSLocale currentLocale]];
    [dateFormat setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss'Z'"];
NSDate *intime = [dateFormat dateFromString:dateStr];
    [dateFormat  setDateFormat:outDateFormate];
    NSString *dateWithNewFormat = [dateFormat stringFromDate:intime];
于 2013-09-05T08:28:59.023 回答
0
NSString *str=@"2013-09-05T06:40:19Z";
str=[[str stringByReplacingOccurrencesOfString:@"T" withString:@" "]stringByReplacingOccurrencesOfString:@"Z" withString:@""];
NSDateFormatter *dateFormatter1 = [[NSDateFormatter alloc] init];
[dateFormatter1 setDateFormat:@"yyyy-MM-dd hh:mm:ss"];
[dateFormatter1 setLocale:[NSLocale currentLocale]];
[dateFormatter1 setTimeZone:[NSTimeZone systemTimeZone]];
NSDate *date =[dateFormatter1 dateFromString:str];
[dateFormatter1 setDateFormat:@"MMM dd yyyy"];
NSString *newDate=[dateFormatter1 stringFromDate:date];

NSLog(@"%@",newDate)
于 2013-09-05T07:51:26.877 回答
0

由于您以指定格式获取日期,因此您需要相应地定义日期格式化程序

 NSString *gameDateString = @"2013-09-05T06:40:19Z";

 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
 dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss'Z'"];  
 [dateFormatter setLocale:[NSLocale currentLocale]];
 [dateFormatter setTimeZone:[NSTimeZone systemTimeZone]]; 

 NSDate *gameDate = [dateFormatter dateFromString:gameDateString];
 NSLog@("** The date is %@",gameDate); 

   // Now convert date to string in the format which you required.
  [dateFormatter  setDateFormat:@"MMMM dd, yyyy"];
  NSString *dateString =  [dateFormatter stringFromDate:gameDate];
  NSLog@("** The date string is %@",dateString); 

希望这可以帮助。

于 2013-09-05T08:25:16.810 回答