我想在没有时间的情况下得到今天的约会

时间:2013-08-08 10:21:22

标签: ios objective-c nsdate

目前我正在做的是比较一些日期,比如说oldDate和今天的日期

             NSDate *dt = [NSDate date];
             NSComparisonResult result = [oldDate compare:dt];
            if (result == NSOrderedAscending)
            { 
              // do something
            }

dt给了我今天的约会时间。但我想要约会,没有时间。我怎样才能实现它?

4 个答案:

答案 0 :(得分:13)

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:@"dd/MM/YYYY"];
NSString *dateString=[dateFormatter stringFromDate:[NSDate date]];

答案 1 :(得分:4)

要注意时区和所有可以做的事情:

- (NSInteger)day {
    NSDateComponents *components = [[NSCalendar currentCalendar] components:NSDayCalendarUnit | NSMonthCalendarUnit fromDate:self];
    return [components day];
}

- (NSInteger)month {
    NSDateComponents *components = [[NSCalendar currentCalendar] components:NSDayCalendarUnit | NSMonthCalendarUnit fromDate:self];
    return [components month];
}

- (NSInteger)year {
    NSDateComponents *components = [[NSCalendar currentCalendar] components:NSYearCalendarUnit fromDate:self];
    return [components year];
}

当然,您可以将它们放在一个函数中,只需记住相应地改变components

<强>警告: 如果您想向用户显示某些内容,请使用NSDateFormatter的其他答案之一。

答案 2 :(得分:2)

您需要使用日期格式化程序正确输出NSDate对象的日期和/或时间。

    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];

    [dateFormatter setDateStyle:NSDateFormatterFullStyle];
    [dateFormatter setTimeStyle:NSDateFormatterNoStyle];

    NSString *dateString = [dateFormatter stringFromDate:[NSDate date]];

设置不同的NSDateFormatterStyle类型将根据需要提供更多或更少的信息,即:“2013年1月1日星期二”或“01/02/2013”​​。

答案 3 :(得分:1)

你走了:

NSDate *date = [NSDate Date];
NSDateFormatter *timeFormatter = [[NSDateFormatter alloc] init];
timeFormatter.dateFormat = @"HH:mm:ss";
NSString *timeString = [timeFormatter stringFromDate:date];

现在字符串 timeString 包含HH:mm:ss格式的当前时间,即11:26:59

哎呀误读了这个问题!这是时间只在日期看到其他答案 - 也可以留在这里。