在我的应用中,我有一个字符串'date'=“2015-03-16”。
我需要在2015年Lunes 16 de marzo(2015年3月16日,星期一)的标签上展示它。我使用以下代码来执行此操作:
NSString *dateStr = date;
// Convertimos el string date a objeto de fecha
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-d"];
NSDate *fecha = [dateFormat dateFromString:dateStr];
NSLog(@"DATE CONVERTIDO A FECHA =%@", fecha);
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"EEEE, dd MMM yyyy"];
fecha = [df dateFromString: date];
NSLog(@"date: %@", fecha);
但最后我得到(null)变量'fecha'
记录 - > date: (null)
我做错了什么?
答案 0 :(得分:1)
您使用的是格式@"yyyy-MM-d"
,使用@"yyyy-MM-dd"
NSString *dateStr = date;
// Convertimos el string date a objeto de fecha
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-dd"];//You were using only d
dateFormat.dateStyle = NSDateFormatterFullStyle
NSDate *fecha = [dateFormat dateFromString:dateStr];
NSLog(@"DATE CONVERTIDO A FECHA =%@", fecha);
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"EEEE, dd MMM yyyy"];
NSString *newDatestr = [df stringFromDate:fecha];
NSLog(@"date: %@", newDatestr);
答案 1 :(得分:1)
您的df
格式化程序代码正在执行另一个dateFromString
而且我认为您打算转向第二个格式化程序(例如先前确定的stringFromDate
的{{1}}
答案 2 :(得分:1)
在df
格式化程序用以下代码替换代码之后,您正朝着相反的方向前进:
NSString *dateStr=@"2015-03-16";
// Convertimos el string date a objeto de fecha
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-dd"];
NSDate *fecha = [dateFormat dateFromString:dateStr];
NSLog(@"DATE CONVERTIDO A FECHA =%@", fecha);
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"EEEE, dd MMM yyyy"];
NSString *newDatestr = [df stringFromDate:fecha];
NSLog(@"date: %@", newDatestr);
希望它有帮助...........:)