将字符串转换为日期并获取日期字符串
Converting string to date and get date string
在我的应用程序中,我有一个字符串 'date'="2015-03-16".
我需要在标签中显示为 Lunes 16 de marzo 2015(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);
但最后我得到了变量 'fecha' 的 (null)
日志 --> date: (null)
我做错了什么?
您正在使用格式 @"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);
您的 df
格式化程序代码正在执行另一个 dateFromString
我认为您打算为第二个格式化程序走另一个方向(例如 stringFromDate
之前的 fecha
确定)。
在你的 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);
希望对您有所帮助................:)
在我的应用程序中,我有一个字符串 'date'="2015-03-16".
我需要在标签中显示为 Lunes 16 de marzo 2015(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);
但最后我得到了变量 'fecha' 的 (null)
日志 --> date: (null)
我做错了什么?
您正在使用格式 @"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);
您的 df
格式化程序代码正在执行另一个 dateFromString
我认为您打算为第二个格式化程序走另一个方向(例如 stringFromDate
之前的 fecha
确定)。
在你的 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);
希望对您有所帮助................:)