Date 从表示日期的存储字符串中删除dayname
我的应用程序中有数据,数据以字符串形式存储,如下所示: “2011年1月31日星期二上午10:15” 我尝试使用dateFromString,然后使用NSDateFormatter将其更改为另一种格式(理想情况下,我希望它显示为hh:mm(24小时)dd/mm/yyyy)。我无法找到删除工作日名称的方法,因此每当我尝试打印结果时,结果都显示为空Date 从表示日期的存储字符串中删除dayname,date,format,Date,Format,我的应用程序中有数据,数据以字符串形式存储,如下所示: “2011年1月31日星期二上午10:15” 我尝试使用dateFromString,然后使用NSDateFormatter将其更改为另一种格式(理想情况下,我希望它显示为hh:mm(24小时)dd/mm/yyyy)。我无法找到删除工作日名称的方法,因此每当我尝试打印结果时,结果都显示为空 NSDateFormatter *df = [[NSDateFormatter alloc] init]; //is EEEE is for weekd
NSDateFormatter *df = [[NSDateFormatter alloc] init];
//is EEEE is for weekdays?
[df setDateFormat:@"EEEE-dd-MM-yyyy hh:mm a"];
NSDate *myDate = [df dateFromString:[[_feeds[_currentTableView] objectAtIndex:row] objectForKey:@"created"]];
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"dd-MM-yyyy"];
NSDateFormatter *timeFormat = [[NSDateFormatter alloc] init];
[timeFormat setDateFormat:@"HH:mm"];
NSDate *now = [[NSDate alloc] init];
NSString *theDate = [dateFormat stringFromDate:myDate];
NSString *theTime = [timeFormat stringFromDate:myDate];
NSLog(@"\n"
"theDate: |%@| \n"
"theTime: |%@| \n"
, theDate, theTime);
[dateFormat release];
[timeFormat release];
[now release];
有人能帮忙吗?谢谢您应该将问题隔离到解析或格式化。我猜这是语法分析。以下是您的示例字符串:
"Tuesday 31st January 2011 10:15am"
以及您的格式:
"EEEE-dd-MM-yyyy hh:mm a"
它们不匹配:
- 示例文本中没有连字符
- “31”之后有“st”-我不知道你会怎么处理
- 月份是以名称而不是数字的形式给出的,因此我怀疑您想要“MMMM”(如果iOS的格式说明符与我熟悉的其他格式说明符相同)
- “15”和“am”之间没有空格
"EEEE dd MMMM yyyy hh:mma"
。。。但我不知道你将如何优雅地处理“st”(或“th”或“nd”),除了显式地处理字符串