org.joda.time.LocalDate#dayOfMonth ( )源码实例Demo

下面列出了org.joda.time.LocalDate#dayOfMonth ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: adwords-alerting   文件: DateRange.java
/**
 * Parse DateRange in ReportDefinitionDateRangeType enum format.
 */
private static DateRange parseEnumFormat(String dateRange) {
  ReportDefinitionDateRangeType dateRangeType;
  try {
    dateRangeType = ReportDefinitionDateRangeType.valueOf(dateRange);
  } catch (IllegalArgumentException e) {
    throw new IllegalArgumentException("Unknown DateRange type: " + dateRange);
  }

  LocalDate today = LocalDate.now();
  LocalDate startDate;
  LocalDate endDate;
  switch (dateRangeType) {
    case TODAY:
      startDate = endDate = today;
      break;
    case YESTERDAY:
      startDate = endDate = today.minusDays(1);
      break;
    case LAST_7_DAYS:
      startDate = today.minusDays(7);
      endDate = today.minusDays(1);
      break;
    case LAST_WEEK:
      LocalDate.Property lastWeekProp = today.minusWeeks(1).dayOfWeek();
      startDate = lastWeekProp.withMinimumValue();
      endDate = lastWeekProp.withMaximumValue();
      break;
    case THIS_MONTH:
      LocalDate.Property thisMonthProp = today.dayOfMonth();
      startDate = thisMonthProp.withMinimumValue();
      endDate = thisMonthProp.withMaximumValue();
      break;
    case LAST_MONTH:
      LocalDate.Property lastMonthProp = today.minusMonths(1).dayOfMonth();
      startDate = lastMonthProp.withMinimumValue();
      endDate = lastMonthProp.withMaximumValue();
      break;
    case LAST_14_DAYS:
      startDate = today.minusDays(14);
      endDate = today.minusDays(1);
      break;
    case LAST_30_DAYS:
      startDate = today.minusDays(30);
      endDate = today.minusDays(1);
      break;
    case THIS_WEEK_SUN_TODAY:
      // Joda-Time uses the ISO standard Monday to Sunday week.
      startDate = today.minusWeeks(1).dayOfWeek().withMaximumValue();
      endDate = today;
      break;
    case THIS_WEEK_MON_TODAY:
      startDate = today.dayOfWeek().withMinimumValue();
      endDate = today;
      break;
    case LAST_WEEK_SUN_SAT:
      startDate = today.minusWeeks(2).dayOfWeek().withMaximumValue();
      endDate = today.minusWeeks(1).dayOfWeek().withMaximumValue().minusDays(1);
      break;
      // Don't support the following enums
    case LAST_BUSINESS_WEEK:
    case ALL_TIME:
    case CUSTOM_DATE:
    default:
      throw new IllegalArgumentException("Unsupported DateRange type: " + dateRange);
  }

  return new DateRange(startDate, endDate);
}
 
源代码2 项目: aw-reporting   文件: DateRangeAndType.java
/**
 * Parse DateRange in ReportDefinitionDateRangeType enum format.
 */
private static DateRangeAndType parseEnumFormat(ReportDefinitionDateRangeType type) {
  LocalDate today = LocalDate.now();
  LocalDate startDate;
  LocalDate endDate;
  switch (type) {
    case TODAY:
      startDate = endDate = today;
      break;
    case YESTERDAY:
      startDate = endDate = today.minusDays(1);
      break;
    case LAST_7_DAYS:
      startDate = today.minusDays(7);
      endDate = today.minusDays(1);
      break;
    case LAST_WEEK:
      LocalDate.Property lastWeekProp = today.minusWeeks(1).dayOfWeek();
      startDate = lastWeekProp.withMinimumValue();
      endDate = lastWeekProp.withMaximumValue();
      break;
    case THIS_MONTH:
      LocalDate.Property thisMonthProp = today.dayOfMonth();
      startDate = thisMonthProp.withMinimumValue();
      endDate = thisMonthProp.withMaximumValue();
      break;
    case LAST_MONTH:
      LocalDate.Property lastMonthProp = today.minusMonths(1).dayOfMonth();
      startDate = lastMonthProp.withMinimumValue();
      endDate = lastMonthProp.withMaximumValue();
      break;
    case LAST_14_DAYS:
      startDate = today.minusDays(14);
      endDate = today.minusDays(1);
      break;
    case LAST_30_DAYS:
      startDate = today.minusDays(30);
      endDate = today.minusDays(1);
      break;
    case THIS_WEEK_SUN_TODAY:
      // Joda-Time uses the ISO standard Monday to Sunday week.
      startDate = today.minusWeeks(1).dayOfWeek().withMaximumValue();
      endDate = today;
      break;
    case THIS_WEEK_MON_TODAY:
      startDate = today.dayOfWeek().withMinimumValue();
      endDate = today;
      break;
    case LAST_WEEK_SUN_SAT:
      startDate = today.minusWeeks(2).dayOfWeek().withMaximumValue();
      endDate = today.minusWeeks(1).dayOfWeek().withMaximumValue().minusDays(1);
      break;
      // Don't support the following enums
    case LAST_BUSINESS_WEEK:
    case ALL_TIME:
    case CUSTOM_DATE:
    default:
      throw new IllegalArgumentException("Unsupported DateRange type: " + type.value());
  }

  return new DateRangeAndType(startDate, endDate, type);
}