作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试根据日期获取一周中的几天。例如:10 月 14 日是星期三。我正在创建一个 Collection View 单元格并按如下方式显示日期。
在第 14 个单元格中,它将显示星期三,但如何将第二天显示为星期四,然后是星期五...等等。
我有今天的日期和是哪一天,如下所示,
day = [components day];
week = [components month];
year = [components year];
weekday = [components weekday];
NSString *string = [NSString stringWithFormat:@"%ld.%ld.%ld", (long)day, (long)week, (long)year];
NSLog(@"%@",string);
NSDate *todayDate = [NSDate date]; // get today date
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"EEEE"];
NSString *convertedDateString = [dateFormatter stringFromDate:todayDate];// here convert date in
NSLog(@"Today formatted date is %@",convertedDateString);
而且我在网上找到了这个方法,当你传递整数时它会返回字符串中的天数,但是我在这方面也遇到了麻烦,不知道每次传递哪个整数所以我得到不同的字符串。
static inline NSString *stringFromWeekday(int weekday){
static NSString *strings[] = {
@"Sunday",
@"Monday",
@"Tuesday",
@"Wednesday",
@"Thursday",
@"Friday",
@"Saturday",
};
return strings[weekday];
最佳答案
您已经准备就绪。您应该在 convertedDateString
字符串中获得正确的日期名称。您只需将 24 小时添加到您的 todayDate
对象并再次使用 dateformatter
以获得第二天。
NSDate *todayDate = [NSDate date]; // get today date
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"EEEE"];
NSString *convertedDateString = [dateFormatter stringFromDate:todayDate];// here convert date in
你可以这样得到第二天。
NSDateComponents *dateComponents = [[NSCalendar currentCalendar] components:(NSDayCalendarUnit | NSMonthCalenderUnit | NSYearCalenderUnit | NSWeekdayCalendarUnit) fromDate:today];
[dateComponents setDay:dateComponents.day+1];
NSDate *nextDay = [dateComponents date];
// Get the day by following same approach in the top
关于ios - 如何在 objective-c 中从今天开始一周中的几天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33123151/
我是一名优秀的程序员,十分优秀!