【问题标题】:Filtering database values based on date根据日期过滤数据库值
【发布时间】:2013-07-19 05:43:51
【问题描述】:

我需要根据过去 10 天、过去 30 天、过去 60 天等日期从数据库中提取我的“费用”值。注意:每个费用字段都有一个格式为 m/dd/yyyy 的日期字段。谁能帮我解决这个问题?

【问题讨论】:

    标签: iphone ios filter nsdate


    【解决方案1】:

    我假设您已将日期存储在数据库中。

    现在要获取过去 10 天、过去 30 天、过去 60 天的日期,试试这种方式,

    NSCalendar *calendar = [NSCalendar currentCalendar];
    NSDateComponents *comps = [NSDateComponents new];
    comps.days = -10; // Change this as per your need
    NSDate *pastDate = [calendar dateByAddingComponents:comps toDate:[NSDate date] options:0]; //This will give you past date
    

    然后按照 Sunny 在此处的建议将此日期应用于您的查询。

    【讨论】:

      【解决方案2】:

      使用这个查询:

      select * from your_tablename where date_column_name <= your_date
      

      【讨论】:

        【解决方案3】:

        试试这样,

        [NSString stringWithFormat:@"SELECT  *FROM tablename WHERE  dLastLotteryDate <= '%@'",passDateHere]
        

        编辑:-

        像这样检查它会帮助你,我认为,

        > SELECT * FROM tablename WHERE dateField >= date('now','-10 day')
        > SELECT * FROM tablename WHERE dateField >= date('now','-30 day')
        > SELECT * FROM tablename WHERE dateField >= date('now','-60 day')
        

        【讨论】:

        • 在 30 天之前计算日期并在此处传递该值。
        • @ManojEllappan 我已经在上面发布了“如何找到最后 XX 天日期”的答案。检查一下。
        【解决方案4】:
        NSCalendar *calendar = [NSCalendar currentCalendar];
        NSDateComponents *comps = [NSDateComponents new];
        comps.days = -10; // Change this as per your need
        NSDate *pastDate = [calendar dateByAddingComponents:comps toDate:[NSDate date] options:0]; //This will give you past date
        

        【讨论】:

        • 除了我在下面的回答之外还有什么新东西?
        • @Manoj Ellappan,你发现这个答案的新变化是什么,你不接受我的答案并接受了这个?
        猜你喜欢
        • 1970-01-01
        • 2013-06-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-05-17
        • 2021-02-05
        • 2015-11-06
        • 1970-01-01
        相关资源
        最近更新 更多