一些日期笔记

该博客介绍了两种Java中使用Calendar和SimpleDateFormat进行日期处理的方法,以获取当前月份的第一天和最后一天。通过设置Calendar对象,可以向前推一个月并获取相应时间,然后格式化输出。这些技巧对于处理日期范围查询或数据分析非常有用。
摘要由CSDN通过智能技术生成

   Calendar cal= Calendar.getInstance();
                    Date d=cal.getTime(); //日历获取当前时间

                    SimpleDateFormat sp=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                    String nowTime=sp.format(d);         //日期格式化
                    cal.add(Calendar.MONTH,-1);         //当前日期向前推一个月
                    Date time = cal.getTime();               //获取时间
                    String afterMonth = sp.format(time);             //格式化时间
                    dataQryTemInVO.setStartTime(afterMonth);
                    dataQryTemInVO.setEndTime(nowTime);

方法一

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = new Date();
Calendar calendar = new GregorianCalendar(); 可直接通过构造函数或set方法设置时间的日历对象
calendar.setTime(date);
//获得本月第一天
calendar.add(Calendar.MONTH, 0);
calendar.set(Calendar.DAY_OF_MONTH, 1);
String firstDay = sdf.format(calendar.getTime());
System.out.println("firstDay:"+ firstDay);
//获得本月最后一天
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
String lastDay = sdf.format(calendar.getTime());

方法2

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 day1= format.format(c.getTime());    //格式化获取的日历时间

System.out.println("本月第一天:"+day1);

//获取当前月最后一天

Calendar ca = Calendar.getInstance();

ca.set(Calendar.DAY_OF_MONTH, ca.getActualMaximum(Calendar.DAY_OF_MONTH));//获取当月最后一天

String day2= format.format(ca.getTime());

System.out.println("本月最后一天:"+day2);
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值