您的位置:首页 > 移动开发 > IOS开发

iOS开发 判断日期是今天,昨天还是明天

2015-12-14 10:20 489 查看
- (NSString*)weekdayStringFromDate:(NSString*)featureDate {

<span style="color:#33cc00;">// 创建 格式 对象</span>
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
<span style="color:#33cc00;"> // 设置 日期 格式 可以根据自己的需求 随时调整, 否则计算的结果可能为 nil</span>
formatter.dateFormat = @"yyyy-MM-dd HH-mm-ss";
<span style="color:#33cc00;">// 将字符串日期 转换为 NSDate 类型</span>
NSDate *inputDate = [formatter dateFromString:featureDate];
<span style="color:#33cc00;">// 生成今天日期时间</span>
NSTimeInterval secondsPerDay = 24 * 60 * 60;
NSDate *today = [[NSDate alloc] init];
NSDate *tomorrow, *yesterday;

tomorrow = [today dateByAddingTimeInterval: secondsPerDay];
yesterday = [today dateByAddingTimeInterval: -secondsPerDay];

<span style="color:#33cc00;">// 10 first characters of description is the calendar date:</span>
NSString * todayString = [[today description] substringToIndex:10];
NSString * yesterdayString = [[yesterday description] substringToIndex:10];
<span style="color:#33cc00;">//根据返回日期判断是否是今天还是昨天</span>
NSString * dateString = [[inputDate description] substringToIndex:10];

if ([dateString isEqualToString:todayString])
{
return @"今天";
} else if ([dateString isEqualToString:yesterdayString])
{
return @"昨天";
}
<span style="color:#33cc00;"> //剩下的返回星期几就行了</span>
NSArray *weekdays = [NSArray arrayWithObjects: [NSNull null], @"周日", @"周一", @"周二", @"周三", @"周四", @"周五", @"周六", nil];

NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];

NSTimeZone *timeZone = [[NSTimeZone alloc] initWithName:@"Asia/Shanghai"];

[calendar setTimeZone: timeZone];

NSCalendarUnit calendarUnit = NSWeekdayCalendarUnit;

NSDateComponents *theComponents = [calendar components:calendarUnit fromDate:inputDate];

return [weekdays objectAtIndex:theComponents.weekday];
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: