使用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 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
2017-11-13 关于yum网络版仓库(本地yum仓库的安装配置,如果没网了,做一个局域网内的yum仓库)
2016-11-13 Java Web应用的开发环境配置