首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用java的Calendar工具类获取到本月的第一天起始时间和最后一天结束时间。

使用java的Calendar工具类获取到本月的第一天起始时间和最后一天结束时间。

作者头像
别先生
发布2018-12-12 16:11:39
3.5K0
发布2018-12-12 16:11:39
举报
文章被收录于专栏:别先生别先生

1、使用java的Calendar工具类获取到本月的第一天起始时间和最后一天结束时间。

 1 package com.fline.aic.utils;
 2 
 3 import java.text.DateFormat;
 4 import java.text.SimpleDateFormat;
 5 import java.util.Calendar;
 6 import java.util.Date;
 7 
 8 /**
 9  * 
10  * @Description TODO
11  * @author biehl
12  * @Date 2018年11月13日 上午11:11:08
13  * 
14  */
15 public class CalendarUtils {
16 
17     public static void main(String[] args) {
18         /*//1、获取到前一个月或者前N个月的第一天和最后一天的此刻时间。或者后1个月或者N个月(基本不用)。
19         //当前时间
20         Date date = new Date();
21         //时间格式
22         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
23         //获取到Calendar对象
24         Calendar cal = Calendar.getInstance();
25         //设置当前时间
26         cal.setTime(date);
27         //打印当前时间
28         System.out.println("当前时间:" + sdf.format(date));
29         //设置几个月前的时间,参数2设置提前几个月。参数2设置-1是前一个月,-2是前二个月。+1是推后一个月。以此类推
30         cal.add(Calendar.MONTH,-1);
31         //获取到前一个月的第一天的此刻时间
32         cal.set(Calendar.DAY_OF_MONTH,cal.getActualMinimum(Calendar.DAY_OF_MONTH));
33         //打印前一个月的第一天的此刻时间
34         System.out.println("上个月的第一天的此刻是: " + sdf.format(cal.getTime()));
35         //获取到后一个月的最后一天的此刻时间
36         cal.set(Calendar.DAY_OF_MONTH,cal.getActualMaximum(Calendar.DAY_OF_MONTH));
37         //打印后一个月的最后一天的此刻时间
38         System.out.println("上个月的最后一天的此刻是: " + sdf.format(cal.getTime()));*/
39         
40         //2、获取本月第一天凌晨开始时间00:00:00和最后一天的最后一刻时间23:59:59
41         Calendar cal = Calendar.getInstance();
42         //当前日期月份
43         cal.add(Calendar.MONTH,0);
44         //创建当前时间
45         Date date = new Date();
46         //设置时间格式为yyyy-MM-dd HH:mm:ss
47         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
48         //设置当前时间,
49         cal.setTime(date);
50         //打印当前时间
51         System.out.println("当前时间:" + sdf.format(date));
52         //获取到本月起始日
53         int actualMinimum = cal.getActualMinimum(Calendar.DAY_OF_MONTH);
54         //获取到本月结束日
55         int actualMaximum = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
56         //设置本月起始日的年月日时分秒格式
57         cal.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONDAY),actualMinimum,00,00,00);
58         //打印本月起始日的年月日时分秒格式
59         System.out.println("这个月的第一天是: " + sdf.format(cal.getTime()));
60         //设置本月结束日的年月日时分秒格式
61         cal.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONDAY),actualMaximum,23,59,59);
62         //打印本月结束日的年月日时分秒格式
63         System.out.println("这个月的最后一天是: " + sdf.format(cal.getTime()));
64         
65         
66         //3、可以根据今天凌晨0点或者凌晨1点的时间用于查询今天的数据量
67         //查询出现在的时间
68         /*Date currentDate = new Date();
69         //设置时间格式为yyyy-MM-dd 01:00:00
70         DateFormat df = new SimpleDateFormat("yyyy-MM-dd 01:00:00");
71         //设置时间格式为yyyy-MM-dd 00:00:00
72         DateFormat df_2 = new SimpleDateFormat("yyyy-MM-dd 00:00:00");
73         //此时间格式可用于查询今天凌晨1点以后的今天的数据量
74         System.out.println("今天凌晨1点时间:" + df.format(currentDate));
75         //此时间格式可用于查询今天凌晨0点以后的今天的数据量
76         System.out.println("今天凌晨0点时间:" + df_2.format(currentDate));*/
77         
78         //4、Mysql数据库查询语句、用于查询今天凌晨1点和凌晨0点以后的数据量
79         //-- 查询今天凌晨1点的时间,可以用来今天凌晨1点以后的数据量
80         //select  DATE_FORMAT(now(),'%Y-%m-%d 01:00:00');
81         //-- 查询今天凌晨0点的时间,可以用来今天凌晨0点以后的数据量
82         //select  DATE_FORMAT(now(),'%Y-%m-%d 00:00:00');
83         
84         //5、PostGresql和Greenplum数据库查询语句、用于查询今天凌晨1点和凌晨0点以后的数据量
85         //-- 查询今天凌晨1点的时间,可以用来今天凌晨1点以后的数据量,datetime类型的时间格式
86         //select  to_char(NOW(),'yyyy-mm-dd 01:00:00');
87         //-- 查询今天凌晨0点的时间,可以用来今天凌晨0点以后的数据量,datetime类型的时间格式
88         //select  to_char(now(),'yyyy-mm-dd 00:00:00');
89 
90         //6、PostGresql和Greenplum数据库查询语句、用于查询今天凌晨1点和凌晨0点以后的数据量
91         //-- 查询今天凌晨1点的时间,可以用来今天凌晨1点以后的数据量,timestamp类型的时间格式,推荐
92         //select to_timestamp(TO_CHAR(CURRENT_DATE + interval '1 hour', 'yyyy-mm-dd hh24'),'yyyy-mm-dd hh24');
93         //-- 查询今天凌晨0点的时间,可以用来今天凌晨0点以后的数据量,timestamp类型的时间格式,推荐
94         //select to_timestamp(TO_CHAR(CURRENT_DATE + interval '0 hour', 'yyyy-mm-dd hh24'),'yyyy-mm-dd hh24');
95 
96         
97     }
98 }
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-11-13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档