• java获取本月开始时间和结束时间、上个月第一天和最后一天的时间以及当前日期往前推一周、一个月


    
    

    1、java获取本月开始时间和结束时间、上个月第一天和最后一天的时间以及当前日期往前推一周、一个月

    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    import java.util.GregorianCalendar;
    
    
    import org.junit.Test;
    
    
    public class TestDateUtil {
    //1、获取当月第一天
    @Test
    public void testForDate(){
    //规定返回日期格式
    SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd");
    Calendar calendar=Calendar.getInstance();
    Date theDate=calendar.getTime();
    GregorianCalendar gcLast=(GregorianCalendar)Calendar.getInstance();
    gcLast.setTime(theDate);
    //设置为第一天
    gcLast.set(Calendar.DAY_OF_MONTH, 1);
    String day_first=sf.format(gcLast.getTime());
    //打印本月第一天
    System.out.println(day_first);
    }
    //2、获取当月最后一天
    @Test
    public void testForDatelast(){
    //获取Calendar
    Calendar calendar=Calendar.getInstance();
    //设置日期为本月最大日期
    calendar.set(Calendar.DATE, calendar.getActualMaximum(calendar.DATE));
    //设置日期格式
    SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd");
    String ss=sf.format(calendar.getTime());
    System.out.println(ss+" 23:59:59");
    }
    //3、非常简单和实用的获取本月第一天和最后一天
    @Test
    public void testt(){
    SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd");
    Calendar c = Calendar.getInstance();    
           c.add(Calendar.MONTH, 0);
           c.set(Calendar.DAY_OF_MONTH,1);//设置为1号,当前日期既为本月第一天 
           String first = format.format(c.getTime());
           System.out.println("===============本月first day:"+first);
           
           //获取当前月最后一天
           Calendar ca = Calendar.getInstance();    
           ca.set(Calendar.DAY_OF_MONTH, ca.getActualMaximum(Calendar.DAY_OF_MONTH));  
           String last = format.format(ca.getTime());
           System.out.println("===============本月last day:"+last);
    }
    //4、获取上个月的第一天
    @Test
    public void getBeforeFirstMonthdate()throws Exception{
    SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd");
    Calendar calendar=Calendar.getInstance();
    calendar.add(Calendar.MONTH, -1);
    calendar.set(Calendar.DAY_OF_MONTH, 1);
    System.out.println("上个月第一天:"+format.format(calendar.getTime()));
    }
    //5、获取上个月的最后一天
    @Test
    public void getBeforeLastMonthdate()throws Exception{
    SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd");
    Calendar calendar=Calendar.getInstance();
    int month=calendar.get(Calendar.MONTH);
    calendar.set(Calendar.MONTH, month-1);
    calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
    System.out.println("上个月最后一天:"+sf.format(calendar.getTime()));
    }
    
    6、获取当前日期的前一周或者前一个月时间
    
     public static String getFirstDate(){
    SimpleDateFormat  sdf = new SimpleDateFormat("yyyyMMdd");
    Calendar cl = Calendar.getInstance();
    // cl.setTime(dateNow);
    // cl.add(Calendar.DAY_OF_YEAR, -1);
    //一天
    // cl.add(Calendar.WEEK_OF_YEAR, -1);
    //一周
    cl.add(Calendar.MONTH, -1);
    //从现在算,之前一个月,如果是2个月,那么-1-----》改为-2
    Date dateFrom = cl.getTime();
    return sdf.format(dateFrom);
     }
    
     @Test
     public void testStartDate(){
     System.out.println("当前日期往前推一个月是:"+getFirstDate());
    
     //如果当前日期是2015.11.08,那么打印日期是:20151008
     }
    }

    2、获得当天开始时间和结束时间

       public static void main(String[] args) {
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(new Date());
            calendar.set(Calendar.HOUR_OF_DAY, 0);
            calendar.set(Calendar.MINUTE, 0);
            calendar.set(Calendar.SECOND, 0);
    
            Date start = calendar.getTime();
    
            calendar.add(Calendar.DAY_OF_MONTH, 1);
            calendar.add(Calendar.SECOND, -1);
    
            Date end = calendar.getTime();
    
            System.out.println(start);
            System.out.println(end);
        }
  • 相关阅读:
    【数学】杜教筛
    【数学】【多项式】多项式求逆
    【数学】求导
    【数学】【多项式】快速数论变换(NTT)
    【数学】【多项式】快速傅里叶变换(FFT)
    WC2021 Day3 笔记
    网络流
    $DP$ 重修
    数学基础 5
    数学基础 3
  • 原文地址:https://www.cnblogs.com/520playboy/p/5430282.html
Copyright © 2020-2023  润新知