ios - 需要将 NSString 转换为 Nsdate

标签 ios nsdate nsdateformatter

我需要将“2013-05-05T00:00:00Z”这个字符串转换为 NSDate,然后再将 NSDate 转换为 Nsstring。我尝试过不同的格式样式,但没有取得任何成功。

我已经检查过了。

NSDate from NSString

Convert NSDate to Sql Server Datetime format

谢谢。

// for getting string for Advance search  

-(NSDate*) doGetDateFromStringGSearch :(NSString*) dateStr 
{

NSDateFormatter * outputFormatter4 = [[[NSDateFormatter alloc ] init ] autorelease ];

NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];
[outputFormatter4 setLocale:locale];

//[outputFormatter4 setDateFormat: @"yyyy-MM-dd'T'HH:mm:ss:SSS"];
//[outputFormatter4 setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSZZZ"];
 [ outputFormatter4 setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss:Z" ];
 //[ outputFormatter4 setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss':00Z'" ];

NSString * inputString2 = dateStr;
NSDate * inputRecivedToDate = [outputFormatter4 dateFromString:inputString2 ];
NSLog(@"doGetDateFromString  %@", inputRecivedToDate);

return [[inputRecivedToDate retain] autorelease];
}

最佳答案

将格式化程序字符串更改为:

[outputFormatter4 setDateFormat:@"yyyy-MM-dd'T'hh:mm:ss'Z'"];

完整代码:

NSDateFormatter *dateFormatter=[NSDateFormatter new];
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'hh:mm:ss'Z'"];
NSDate *date=[dateFormatter dateFromString:@"2013-05-05T00:00:00Z"];

NSLog(@"%@",date);

关于ios - 需要将 NSString 转换为 Nsdate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17120767/

相关文章:

ios - 根据设备位置印度或美国更正日期时间

ios - 为什么对象会与 CGRectIntersectsRect 重叠?

iphone - 如何将解析后的 xml 传递给核心数据对象

ios - 宽度减小时自动垂直对齐

ios - Scenekit - 将子节点(平面节点)添加到相机前面的父节点(球体节点)

xcode - 核心数据保存错误(NSValidationErrorKey,Cocoa错误1570)保存NSDate

ios - 如何从 coreData 格式化 NSDate 并正确显示

ios - 使用 NSDateIntervalFormatterStyle 输出更漂亮

iphone - NSCalendar 查找当月的星期六和星期日

iphone NSDate 与 NSDateFormatter 问题