无法将 NSString 转换为 NSdate 格式



我想将我的输入字符串转换为特定的NSDate格式,

这是我尝试过的代码。

NSString * result;
NSDate * resultDate;
NSDate *date = [dateFormat dateFromString:maxUpcomingDateString];
NSDateFormatter *dateFormat1 = [[NSDateFormatter alloc] init];
dateFormat1.locale=[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
[dateFormat1 setDateFormat:@"yyyy/MMM/dd"];
NSLog(@"maxUpcomingDateString %@",maxUpcomingDateString)
NSDate *d=[dateFormat1 dateFromString:maxUpcomingDateString];
result = [dateFormat1 stringFromDate:date];
resultDate=[dateFormat1 dateFromString:result];
NSLog(@"max1 date upcoming %@",result);
NSLog(@"max2 date upcoming %@", resultDate);

我的日志输出显示:

maxUpcomingDateString 10 January 2017
max1 date upcoming 2017/Jan/10
max2 date upcoming (null)

我想要2017/Jan/10形式的输出日期。当我尝试记录字符串时,它向我显示正确的输出,但当我将其转换回NSDate时,它显示 null。

nsstring to nsdate

NSString *dateString = @"01-02-2010";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
// this is imporant - we set our input date format to match our input string
// if format doesn't match you'll get nil from your string, so be careful
[dateFormatter setDateFormat:@"dd-MM-yyyy"];
NSDate *dateFromString = [[NSDate alloc] init];
dateFromString = [dateFormatter dateFromString:dateString];

nsdate 到 nsstring

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd-MM-yyyy"];
NSString *stringDate = [dateFormatter stringFromDate:[NSDate date]];
NSLog(@"%@", stringDate);

在 dateFormat 上添加此代码

[dateFormat setDateFormat:@"dd MMM yyyy"];

它将解决问题。

在分配 dateFormat 对象后添加此代码。

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];    
[dateFormat setDateFormat:@"dd MMM yyyy"];

最新更新