sam*_*mir 27 format objective-c nsdate ios
我有NSString
这样的:@"3/15/2012 9:15 PM"
我想把它转换成NSDate
,我这样做了:
NSString *str =@"3/15/2012 9:15 PM";
NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
[formatter setDateFormat:@"mm/dd/yyyy HH:mm"];
NSDate *date = [formatter dateFromString:];
NSLog(@"%@", date); // date = null
Run Code Online (Sandbox Code Playgroud)
谢谢你能帮我吗
Ila*_*ian 59
使用以下解决方案
NSString *str = @"3/15/2012 9:15 PM";
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = @"MM/dd/yyyy HH:mm a";
NSDate *date = [formatter dateFromString:str];
NSLog(@"%@", date);
Run Code Online (Sandbox Code Playgroud)
编辑: 对不起,格式应如下:
formatter.dateFormat = @"MM/dd/yyyy hh:mm a";
Run Code Online (Sandbox Code Playgroud)
显示的时间将是GMT时间.因此,如果您添加/减去时区,它将是晚上9:15.
编辑:#2
使用方法如下.你也会得到准确的时间.
NSString *str = @"3/15/2012 9:15 PM";
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = @"MM/dd/yyyy hh:mm a";
NSTimeZone *gmt = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];
formatter.timeZone = gmt;
NSDate *date = [formatter dateFromString:str];
NSLog(@"%@",date);
Run Code Online (Sandbox Code Playgroud)