如何获得在本周的所有天/日期,本月,今年使用iPhone当前日期(今日)(How to get al

2019-08-06 10:02发布

在我的应用程序必须按日期表视图来显示工作时间列表,

在这里,我有5个场景

  1. 今天的项目,工时
  2. 选定日期的项目,小时
  3. Cureent一周(周日到周六)
  4. 本月(工作时间在一月,二月,如果它是二月三月,如果它是进行曲)
  5. 本年度(2013年的所有工作时间)

我已经实现sqlite的查询如下,

1.选择日期,ProjectTitle,WorkingHours,从ProjDetailsTable总和(WorkingHours)其中日期= toDaysDate

2.选择日期,ProjectTitle,WorkingHours,从ProjDetailsTable总和(WorkingHours)其中日期= selecteDate

I have done for the fist two scenarions

对于3,4,5场景


3. Select Date, ProjectTitle, WorkingHours, sum(WorkingHours) from ProjDetailsTable where 
Date between two Dates

但我的问题是,如果我有日期

Is there any logic to get the starting for
current week, current month, current year

注意:不是7天回,不是30几个月前,而不是365天回。

我的要求是:

if Current date is Feb-13-2020 WednesDay

本周: 二月-9到今天

本月: 二月-1至今天

今年: 月-1-2020到今天

Answer 1:

我希望这会给你你怎么也得进行基本思想是:对于其他情况下,您可以制定出

- (NSDate *)firstDayOfWeekFromDate:(NSDate *)date {
      NSCalendar* calendar = [NSCalendar currentCalendar];
      NSDateComponents* comps = [calendar components:NSYearForWeekOfYearCalendarUnit |NSYearCalendarUnit|NSMonthCalendarUnit|NSWeekCalendarUnit|NSWeekdayCalendarUnit fromDate:date];

     [comps setWeekday:2]; // 2: monday
     return [calendar dateFromComponents:comps];
  }


Answer 2:

您可以使用此为获得本年度及一个月。 只需将这些作为我的朋友曾建议添加到以前的答案。

NSInteger year = [comps year];
NSInteger month = [comps month];

现在,我想如果你要本年度及一个月,你可以手动设置为第一个日期。 并执行你想要的。

最主要的是让平日..谢谢。



文章来源: How to get all the days/dates in current week, this month, this year using the current date (today) in iPhone