使用java的Calendar工具類獲取到本月的第一天起始時間和最后一天結束時間。


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 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM