Java获取当日、当周时间段、当月、当季度时间段

/**
时间工具类
*/
public class DateUtils {

public static int getYear(String timeString) {
    String timeStr = convertDate2String(parseTimeString2Date(timeString), "yyyy-MM-dd");
    return Integer.parseInt(timeStr.substring(0, 4));
}

public static int getMonth(String timeString) {
    String timeStr = convertDate2String(parseTimeString2Date(timeString), "yyyy-MM-dd");
    return Integer.parseInt(timeStr.substring(5, 7));
}

public static int getDay(String timeString) {
    String timeStr = convertDate2String(parseTimeString2Date(timeString), "yyyy-MM-dd");
    return Integer.parseInt(timeStr.substring(8, 10));
}
public static Date parseTimeString2Date(String timeString) {
    if ((timeString == null) || (timeString.equals(""))) {
        return null;
    }
    Date date = null;
    DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
    try {
        date = new Date(dateFormat.parse(timeString).getTime());
    } catch (Exception e) {
        e.printStackTrace();
    }
    return date;
}

public static String convertDate2String(Date date, String pattern) {
    if (date == null) {
        return null;
    }
    DateFormat dateFormat = new SimpleDateFormat(pattern);
    return dateFormat.format(date);
}

  //获取本周第一天
  public static String startWeek(){
      Calendar calendar = Calendar.getInstance();
      int min = calendar.getActualMinimum(Calendar.DAY_OF_WEEK); //获取周开始基准
      int current = calendar.get(Calendar.DAY_OF_WEEK)-1; //获取当天周内天数
      calendar.add(Calendar.DAY_OF_WEEK, min-current); //当天-基准,获取周开始日期
      Date start = calendar.getTime();
      String startDate =String.format("%tF",start);
      return startDate;
  }

//获取本周最后一天
public static String endtWeek(){
    Calendar calendar = Calendar.getInstance();
    int min = calendar.getActualMinimum(Calendar.DAY_OF_WEEK); //获取周开始基准
    int current = calendar.get(Calendar.DAY_OF_WEEK)-1; //获取当天周内天数
    calendar.add(Calendar.DAY_OF_WEEK, min-current); //当天-基准,获取周开始日期
    calendar.add(Calendar.DAY_OF_WEEK, 6); //开始+6,获取周结束日期
    Date end = calendar.getTime();
    String endtDate=String.format("%tF",end);
    return endtDate;
}

//获取本季度的第一天
public static String startQuarter() {
    Calendar c = Calendar.getInstance();
    int currentMonth = c.get(Calendar.MONTH) + 1;
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    if (currentMonth >= 1 && currentMonth <= 3) {
        c.set(Calendar.MONTH, 0);
    } else if (currentMonth >= 4 && currentMonth <= 6) {
        c.set(Calendar.MONTH, 3);
    } else if (currentMonth >= 7 && currentMonth <= 9) {
        c.set(Calendar.MONTH, 4);
    } else if (currentMonth >= 10 && currentMonth <= 12) {
        c.set(Calendar.MONTH, 9);
    }
        c.set(Calendar.DATE, 1);
        Date date = c.getTime();
        String time = sdf.format(date);
        return time;
}

//获取本季度的最后一天
public static String endQuarter() {
    Calendar c = Calendar.getInstance();
    int currentMonth = c.get(Calendar.MONTH) + 1;
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    if (currentMonth >= 1 && currentMonth <= 3) {
        c.set(Calendar.MONTH, 2);
    } else if (currentMonth >= 4 && currentMonth <= 6) {
        c.set(Calendar.MONTH, 5);
    } else if (currentMonth >= 7 && currentMonth <= 9) {
        c.set(Calendar.MONTH, 8);
    } else if (currentMonth >= 10 && currentMonth <= 12) {
        c.set(Calendar.MONTH, 11);
    }
    c.set(Calendar.DATE, 31);
    Date date = c.getTime();
    String time = sdf.format(date);
    return time;
}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值