Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Date 从表示日期的存储字符串中删除dayname_Date_Format - Fatal编程技术网

Date 从表示日期的存储字符串中删除dayname

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

我的应用程序中有数据,数据以字符串形式存储,如下所示: “2011年1月31日星期二上午10:15”

我尝试使用dateFromString,然后使用NSDateFormatter将其更改为另一种格式(理想情况下,我希望它显示为hh:mm(24小时)dd/mm/yyyy)。我无法找到删除工作日名称的方法,因此每当我尝试打印结果时,结果都显示为空

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”之间没有空格
撇开“st”部分不谈,我想您可能需要以下格式:

 "EEEE dd MMMM yyyy hh:mma"
。。。但我不知道你将如何优雅地处理“st”(或“th”或“nd”),除了显式地处理字符串