`

nsdate 前一天,后一天

    博客分类:
  • ios
 
阅读更多
h
{
    NSDate *choseDate;//显示日期
    NSDateFormatter *df;//时间格式化
    NSCalendar*calendar;//日历
    NSDateComponents*comps;//
}
@property (weak, nonatomic) IBOutlet UIButton *dateL;
@property (weak, nonatomic) IBOutlet UIButton *beforeBtn;
@property (weak, nonatomic) IBOutlet UIButton *nextBtn;

m
- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.
    df = [[NSDateFormatter alloc]init];
    [df setDateFormat:@"yyy-MM-dd"];
    calendar = [NSCalendar currentCalendar];
     
    [self _initCDate:[NSDate date]];
    [_beforeBtn addTarget:self action:@selector(beforeAc) forControlEvents:UIControlEventTouchUpInside];
    [_nextBtn addTarget:self action:@selector(nextAc) forControlEvents:UIControlEventTouchUpInside];
}

#pragma maek date
-(void)_initCDate:(NSDate *)_nsdate{
    choseDate=_nsdate;
    comps =[calendar components:(NSWeekCalendarUnit | NSWeekdayCalendarUnit |NSWeekdayOrdinalCalendarUnit)fromDate:choseDate];
    
    NSInteger weekday = [comps weekday]; // 星期几(注意,周日是“1”,周一2………………)
    NSString *wdS ;
    switch (weekday) {
        case 1:
            wdS=@"日";
            break;
        case 2:
            wdS=@"一";
            break;
        case 3:
            wdS=@"二";
            break;
        case 4:
            wdS=@"三";
            break;
        case 5:
            wdS=@"四";
            break;
        case 6:
            wdS=@"五";
            break;
        case 7:
            wdS=@"六";
            break;
        default:
            break;
    }
    
    NSString *date_= [df stringFromDate:choseDate];
    [_dateL setTitle:[NSString stringWithFormat:@" %@ 星期%@ ",date_,wdS] forState:UIControlStateNormal];
    _dateL.userInteractionEnabled=NO;
}

#pragma mark 前一天Ac
-(void)beforeAc{
    choseDate=[[NSDate alloc]initWithTimeIntervalSinceReferenceDate:([choseDate timeIntervalSinceReferenceDate]-24*3600)];
    [self _initCDate:choseDate];
}
#pragma mark 后一天Ac
-(void)nextAc{
    choseDate=[[NSDate alloc]initWithTimeIntervalSinceReferenceDate:([choseDate timeIntervalSinceReferenceDate]+24*3600)];
    [self _initCDate:choseDate];
}
分享到:
评论

相关推荐

    iOS如何获取当前日期前后N天的时间示例代码

    前言 记得之前看过一部有关机器人动画片,具体名字叫什么忘记了。...前一天或后一天时间 NSDate *lastDay = [NSDate dateWithTimeInterval:-24*60*60 sinceDate:date];//前一天 NSDate *nextDay = [NS

    日期处理类

    //返回一周的第几天(周末为第一天) - (NSUInteger)weekday; //转为NSString类型的 + (NSDate *)dateFromString:(NSString *)string; + (NSDate *)dateFromString:(NSString *)string withFormat:(NSString *)format;...

    iOS日期格式化类(刚刚、一分钟前、昨天、周几)

    3. **昨天(Yesterday)**:对于前一天的时间,我们可以直接显示"昨天"。 4. **周几(Weekday)**:对于更远的日期,展示星期几可以帮助用户快速识别日期,如"周一"、"周二"等。 在`DateFormatting.h`头文件中,...

    ios源码之一天结束前时间的倒计时应用MinutesToMidnight.rar

    在iOS开发中,倒计时应用是一种常见的类型,它们通常用于提醒用户某个特定时间的到来,例如一天结束前的时间。这个名为“MinutesToMidnight”的源码项目就是这样一个例子,它展示了如何在iOS平台上创建一个计算一天...

    突破ObjectiveC开发速学手册之时间日期处理PPT学习教案.pptx

    例如,`(24*60*60)` 表示一天,因此 `-[NSDate dateWithTimeIntervalSinceNow:(24*60*60)]` 返回的是昨天的日期。 4. **日期比较** - `isEqualToDate:`:用于判断两个 `NSDate` 是否相同。 - `earlierDate:`:...

    时间个性化设置

    `NSDate`是Apple的Foundation框架中的一个核心类,用于表示一个特定的日期和时间点,不考虑时区。 1. **时间间隔表示法** 在iOS和macOS开发中,为了实现“刚刚”、“5分钟前”这样的表述,我们需要计算当前时间与...

    ios-日历控件.zip

    在项目中,可能涉及到使用NSDate的`dateByAddingComponents:`方法来计算两个日期之间的差值,或者获取某个日期的前一月、后一天等。 2. **九宫格布局**: 这是一种常见的UI设计,常用于日历应用中,以直观地展示一个...

    ios-时间格式化.zip

    可以使用`NSCalendar`和`NSDateComponents`计算日期之间的差距,如果只相差一天,则显示“昨天”,两天显示“前天”,依此类推。 在实际项目中,我们可能还需要考虑到时区的影响,确保时间显示对全球用户都是准确...

    iOS游戏应用源代码——sarperdag-SEHumanizedTimeDiff-ce83c8a.zip

    3. **格式化输出**:根据时间间隔的长度,选择合适的单位进行输出,比如超过一天的间隔可能会以天为单位,而小于一天则可能细化到小时和分钟。 4. **国际化支持**:考虑到不同地区的时间表示习惯,源码可能包含对...

    日期时间转换实用程序

    DATE类型的值从公元前45014年1月1日开始计算,每过一天加1。 在Objective-C中,日期和时间处理通常使用`NSCalendar`, `NSDate`, `NSDateComponents`等类。`NSDate`对象表示一个不可变的时间点,而`NSCalendar`可以...

    ios-过去时间计算显示器.zip

    "ios-过去时间计算显示器.zip" 提供的资源可能是一个小型的代码示例或库,用于将时间戳转换为更加人性化、易读的格式,如“几分钟前”、“几天前”、“刚刚”等,并且可能包含星期几的信息。这个工具能够帮助开发者...

    iOS_时间戳与日期转换 区分年份(刚刚、几分钟前)

    在iOS开发中,时间戳与日期的转换是一个常见的需求,特别是在构建新闻类应用程序时,我们需要将服务器返回的时间戳转化为用户友好的格式,如“刚刚”、“几分钟前”等。然而,大多数在线教程往往忽视了如何在这些...

    IOS实现基于CMPedometer的计步器

    然后,创建并初始化`CMPedometer`对象,并设置开始日期为前一天,以便获取从那时到现在的步数数据。同时,提供一个处理步数更新的回调: ```objc _stepter = [[CMPedometer alloc] init]; NSTimeInterval ...

    IOS应用源码——SEHumanizedTimeDiff for iOS.rar

    4. **自定义配置(Customization)**:可能提供接口供开发者调整显示样式,比如是否显示精确时间、是否包含“前”或“后”这样的指示词等。 5. **示例代码(Sample Code)**:源码中通常会包含使用示例,帮助开发者快速...

    SORelativeDateTransformer:SORelativeDateTransformer是一个值转换器,它生成人类可读的短语来表达给定日期与当前日期之间的相对差

    2010-12-01 11:00转换为“ 5天前” ... 2010-12-25 08:00转换为“两周内” 变压器不提供反向转换; 您只能从NSDate转换为NSString。 如何使用 将源文件和本地化的字符串包添加到您的项目中。 ...

    SSLogger:SSLogger是一个很简单的,轻量级的iOS日志记录工具

    Example// 清除七天前的日志文件SSLoggerCleanLog([[NSDate date] dateByAddingTimeInterval:-60*60*24*7.0]);// 开始日志记录SSLoggerStart();// 捕捉程序崩溃信息SSLoggerCatchCrash();NSString* logStr = @"this ...

    ios下json数据解析的JsonKit库

    2. 将解压后的JSONKit目录拖入你的Xcode项目中,确保"Copy items if needed"选项被选中。 3. 添加`#import "JSONKit.h"`到你需要使用JsonKit的源代码文件中。 接下来,我们看看如何使用JsonKit进行JSON数据的解析和...

    iOS计算上次日期距离现在多久的代码

    最后,根据时间间隔的长度,代码返回了一个适当的字符串描述,如"刚刚"、"xx分钟前"、"xx小时前"、"xx天前"等。这里的条件判断结构确保了返回的时间描述与实际的时间差相符。 需要注意的是,这个方法简单地假设每个...

    CustomHealthKitUtils:utils 被一个可爱的女孩用来“保存、删除、查询”健康包

    CustomHealthKitUtils提供了查询特定类型数据的方法,例如获取过去一天的步数: ```objc [CustomHealthKitUtils queryStepCountForYesterday:^(NSArray * _Nullable results, NSError * _Nullable error) { if (!...

Global site tag (gtag.js) - Google Analytics