目前我正在做的是比较一些日期,比如说oldDate和今天的日期
NSDate *dt = [NSDate date];
NSComparisonResult result = [oldDate compare:dt];
if (result == NSOrderedAscending)
{
// do something
}
dt给了我今天的约会时间。但我想要约会,没有时间。我怎样才能实现它?
答案 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
哎呀误读了这个问题!这是时间只在日期看到其他答案 - 也可以留在这里。