【问题标题】:Issues with initWithFormat value from server来自服务器的 initWithFormat 值问题
【发布时间】:2023-03-09 03:20:01
【问题描述】:

请问如何让我的 initWithFormat 显示为上午 8:00 - 下午 2:30?

请帮忙!!我已经添加了 "dd-MM-yyyy 'at' h:mm:ss a"

//opening
    NSString *startDate= ((Timeslot *)[self.timeslots objectAtIndex:i]).startDateTime;
    NSArray *split =[startDate componentsSeparatedByString: @"T"];
    NSString* clock =[split objectAtIndex: 1];
    NSArray *aux= [clock componentsSeparatedByString:@":"];
    NSString *startTime = [[NSString alloc] initWithFormat:@"%@:%@",[aux objectAtIndex:0],[aux objectAtIndex:1]];

    NSArray *st = [sttHour componentsSeparatedByString: @":"];
    if([[st objectAtIndex:0] integerValue] < [[aux objectAtIndex:0] integerValue])
    {
        if(![self.openings containsObject:startTime])
        {
            [self.openings addObject:startTime];
            [self.closings addObject:startTime];
        }

        [self.frees addObject:startTime];
    }

这是我从服务器获取的值:

Timeslot =  {
            endDateTime = "2014-07-25T16:00:00";
            id = 1344;
            startDateTime = "2014-07-25T14:00:00";
        };

【问题讨论】:

  • 这不是一个聪明的方法。使用 NSDateFormatter。
  • 我已经这样做了,这很有帮助,直到我被困在这个阶段。
  • 您显然不了解 iOS 中如何处理日期/时间信息。仅仅修复你的代码(如果我们能弄清楚如何)不会让你理解这一点——你必须自己花一些时间,特别是克服你对它应该如何的心理障碍> 上班。
  • 此外,您不知道如何在这里提问。像这样的问题应该包括所有相关的代码加上输入和输出。并且说,例如,I have added "dd-MM-yyyy 'at' h:mm:ss a" 如果你不告诉我们在哪里你是没用的补充说。
  • 提示:如果您尝试读取或写入格式化日期,您使用的日期格式字符串应该很多类似于您尝试读取的日期字符串/写。

标签: objective-c nsdateformatter nscalendar


【解决方案1】: