zoukankan      html  css  js  c++  java
  • 常用 日期 年月周日获取

    //获取这一年的日历
    private static Calendar getCalendarFormYear(int year){
    Calendar cal = Calendar.getInstance();
    cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
    cal.set(Calendar.YEAR, year);
    return cal;
    }

    //获取某一年的某一周的周日日期
    public static Date getEndDayOfWeekNo(int year, int weekNo) throws ParseException {
    Calendar cal = getCalendarFormYear(year);
    cal.set(Calendar.WEEK_OF_YEAR, weekNo);
    cal.add(Calendar.DAY_OF_WEEK, 6);
    //获得SimpleDateFormat类,我们转换为yyyy-MM-dd的时间格式
    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");//注意月份是MM
    String start = cal.get(Calendar.YEAR) + "-" + (cal.get(Calendar.MONTH) + 1) + "-" +
    cal.get(Calendar.DAY_OF_MONTH);
    Date date= java.sql.Date.valueOf(start);
    return date;
    }

    //获取某一年的某一周的周一日期
    public static Date getStartDayOfWeekNo(int year, int weekNo) throws ParseException {
    Calendar cal = getCalendarFormYear(year);
    cal.set(Calendar.WEEK_OF_YEAR, weekNo);
    //获得SimpleDateFormat类,我们转换为yyyy-MM-dd的时间格式
    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");//注意月份是MM
    String start = cal.get(Calendar.YEAR) + "-" + (cal.get(Calendar.MONTH) + 1) + "-" +
    cal.get(Calendar.DAY_OF_MONTH);
    Date date= java.sql.Date.valueOf(start);
    return date;
    }

    /**
    * 获取指定年月的第一天
    * @param year
    * @param month
    * @return
    */
    public static Date getFirstDayOfMonth1(int year, int month) {
    Calendar cal = Calendar.getInstance();
    //设置年份
    cal.set(Calendar.YEAR, year);
    //设置月份
    cal.set(Calendar.MONTH, month-1);
    //获取某月最小天数
    int firstDay = cal.getMinimum(Calendar.DATE);
    //设置日历中月份的最小天数
    cal.set(Calendar.DAY_OF_MONTH,firstDay);
    //格式化日期
    // SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    String start = cal.get(Calendar.YEAR) + "-" + (cal.get(Calendar.MONTH) + 1) + "-" +
    cal.get(Calendar.DAY_OF_MONTH);
    Date date= java.sql.Date.valueOf(start);
    return date;
    }

    /**
    * 获取指定年月的最后一天
    * @param year
    * @param month
    * @return
    */
    public static Date getLastDayOfMonth1(int year, int month) {
    Calendar cal = Calendar.getInstance();
    //设置年份
    cal.set(Calendar.YEAR, year);
    //设置月份
    cal.set(Calendar.MONTH, month-1);
    //获取某月最大天数
    int lastDay = cal.getActualMaximum(Calendar.DATE);
    //设置日历中月份的最大天数
    cal.set(Calendar.DAY_OF_MONTH, lastDay);
    //格式化日期
    // SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    String start = cal.get(Calendar.YEAR) + "-" + (cal.get(Calendar.MONTH) + 1) + "-" +
    cal.get(Calendar.DAY_OF_MONTH);
    Date date= java.sql.Date.valueOf(start);
    return date;
    }
    /**
    * 获取指定年月的第一天
    * @param year
    * @param
    * @return
    */
    public static Date getFirstDay(int year) {
    Calendar cal = Calendar.getInstance();
    //设置年份
    cal.set(Calendar.YEAR, year);
    //设置月份
    cal.set(Calendar.MONTH, 0);
    cal.set(Calendar.DAY_OF_MONTH,1);
    String start = cal.get(Calendar.YEAR) + "-" + (cal.get(Calendar.MONTH) + 1) + "-" +
    cal.get(Calendar.DAY_OF_MONTH);
    Date date= java.sql.Date.valueOf(start);
    return date;
    }
    /**
    * 获取指定年月的最后一天
    * @param year
    * @param
    * @return
    */
    public static Date getLastDay(int year) {
    Calendar cal = Calendar.getInstance();
    //设置年份
    cal.set(Calendar.YEAR, year);
    //设置月份
    cal.set(Calendar.MONTH,11);
    cal.set(Calendar.DAY_OF_MONTH,31);
    String start = cal.get(Calendar.YEAR) + "-" + (cal.get(Calendar.MONTH) + 1) + "-" +
    cal.get(Calendar.DAY_OF_MONTH);
    Date date= java.sql.Date.valueOf(start);
    return date;
    }
    /**
    * 拆分时间年
    * @param dtae
    * @param
    * @return
    */
    public static int getYearDay(Date dtae) {
    SimpleDateFormat sdf0 = new SimpleDateFormat("yyyy");
    String str1 = sdf0.format(dtae);
    int year = 0;
    try {
    year = Integer.parseInt(str1);
    } catch (NumberFormatException e) {
    e.printStackTrace();
    }
    return year;
    }
    /**
    * 拆分时间月
    * @param dtae
    * @param
    * @return
    */
    public static int getMonthDay(Date dtae) {
    SimpleDateFormat sdf1 = new SimpleDateFormat("MM");
    String str1 = sdf1.format(dtae);
    int month = 0;
    try {
    month = Integer.parseInt(str1);
    } catch (NumberFormatException e) {
    e.printStackTrace();
    }
    return month;
    }

    /**
    * 根据年 月 获取对应的月份 天数
    */
    public static String[] getDaysByYearMonth(int year, int month) {

    Calendar a = Calendar.getInstance();
    a.set(Calendar.YEAR, year);
    a.set(Calendar.MONTH, month - 1);
    a.set(Calendar.DATE, 1);
    a.roll(Calendar.DATE, -1);
    int maxDate = a.get(Calendar.DATE);
    if(maxDate == 31){
    String[] xDate = {"1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31"};
    return xDate;
    }else if(maxDate == 30){
    String[] xDate = {"1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30"};
    return xDate;
    }else if(maxDate == 28){
    String[] xDate = {"1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28"};
    return xDate;
    }else {
    String[] xDate = {"1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28"};
    return xDate;
    }
    }

    /**
    * 获取当年每个月数组
    * @return
    */
    public static String[] getByYearMonthL() {
    String[] last12Months = new String[12];
    Calendar cal = Calendar.getInstance();
    //如果当前日期大于二月份的天数28天或者29天会导致计算月份错误,会多出一个三月份,故设置一个靠前日期解决此问题
    for (int i = 0; i < 12; i++) {
    last12Months[0 + i] = cal.get(Calendar.YEAR) + "-" + (i + 1)+"-01";
    cal.set(Calendar.MONTH, i + 1); //逐次往前推1个月
    }
    // for (int i = 0; i < last12Months.length; i++) {
    // System.out.println(last12Months[i]);
    // }
    return last12Months;
    }

    /**
    * 获取当天所有小时数组
    * @return
    */
    public static String[] getByDayHourL() {
    String[] last24Hour = new String[24];
    Calendar cal = Calendar.getInstance();
    for (int i = 0; i < 24; i++) {
    last24Hour[0 + i] = cal.get(Calendar.YEAR) + "-" +(cal.get(Calendar.MONTH)+1)+"-"+cal.get(Calendar.DATE)+" "+(i)+":"+cal.get(Calendar.MINUTE);
    cal.set(Calendar.HOUR_OF_DAY, i + 1);
    }
    // for (int i = 0; i < last12Months.length; i++) {
    // System.out.println(last12Months[i]);
    // }
    return last24Hour;
    }
    public static String[] getByDayHourLTe() {
    String[] last24Hour = new String[24];
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH");//时间格式化
    Calendar calendar=Calendar.getInstance();
    Date date=new Date();
    calendar.setTime(date);

    for(int i=24;i>0;i--){//当前时间循环24小时减下去

    calendar.set(Calendar.HOUR_OF_DAY,calendar.get(Calendar.HOUR_OF_DAY) - 1);
    String time = sdf.format(calendar.getTime());
    last24Hour[i-1]=time;
    }
    return last24Hour;
    }
    /**
    * 時間戳格式化
    * @param date
    * @param
    * @return
    */
    public static String getStringDate(Date date) {
    SimpleDateFormat sdfDate = new SimpleDateFormat("yyyy-MM-dd");
    String str1 = sdfDate.format(date);
    return str1;
    }
  • 相关阅读:
    每日博客
    每日博客
    今日收获
    今日收获
    今日收获
    今日收获
    今日收获
    今日收获
    今日收获
    今日收获
  • 原文地址:https://www.cnblogs.com/zq01/p/15303853.html
Copyright © 2011-2022 走看看