项目经验:自己写的根据时段得到日期的CalendarUtil

2023-11-02 20:30

本文主要是介绍项目经验:自己写的根据时段得到日期的CalendarUtil,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在做水质评价统计的时候,根据前台页面返回的最近一天、最近一星期、最近一月、最近一年计算出日期。

统计时段select控件:

 

CalendarUtil类代码:

package com.richway.waterevaluate.util;import java.util.Calendar;
import java.util.Date;/*** @author lej*时间处理工具* 2014-5-30下午1:43:02*/
public class CalendarUtil {/*** 得到当天的0:0:0:000*/public static Date getTodayStart(){Calendar calendar = Calendar.getInstance();  //将小时至0  calendar.set(Calendar.HOUR_OF_DAY, 0);  //将分钟至0  calendar.set(Calendar.MINUTE, 0);  //将秒至0  calendar.set(Calendar.SECOND,0);  //将毫秒至0  calendar.set(Calendar.MILLISECOND, 0);return calendar.getTime(); }/*** 得到当天第二天的0:0:0:000*/public static Date getTomorrowStart(){Calendar calendar = Calendar.getInstance();  calendar.add(Calendar.DAY_OF_MONTH, 1);//将小时至0  calendar.set(Calendar.HOUR_OF_DAY, 0);  //将分钟至0  calendar.set(Calendar.MINUTE, 0);  //将秒至0  calendar.set(Calendar.SECOND,0);  //将毫秒至0  calendar.set(Calendar.MILLISECOND, 0);return calendar.getTime(); }/*** 得到当天所在的星期的第一天的0:0:0:000*/public static Date getThisWeekStart(){Calendar calendar = Calendar.getInstance();  // 直接取周一calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);    //将小时至0  calendar.set(Calendar.HOUR_OF_DAY, 0);  //将分钟至0  calendar.set(Calendar.MINUTE, 0);  //将秒至0  calendar.set(Calendar.SECOND,0);  //将毫秒至0  calendar.set(Calendar.MILLISECOND, 0);return calendar.getTime();}/*** 得到当天所在的星期的下一个星期第一天的0:0:0:000*/public static Date getNextWeekStart(){Calendar calendar = Calendar.getInstance();  // 取下周calendar.add(Calendar.WEEK_OF_YEAR, 1);// 取下周一calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); //将小时至0  calendar.set(Calendar.HOUR_OF_DAY, 0);  //将分钟至0  calendar.set(Calendar.MINUTE, 0);  //将秒至0  calendar.set(Calendar.SECOND,0);  //将毫秒至0  calendar.set(Calendar.MILLISECOND, 0);return calendar.getTime();}/*** 得到当天所在的月份的第一天的0:0:0:000*/public static Date getThisMonthStart(){Calendar calendar = Calendar.getInstance();  // 得到当天是这月的第几天int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);// 减去dayOfMonth,得到第一天的日期,因为Calendar用0代表每月的第一天,所以要减一calendar.add(Calendar.DAY_OF_MONTH, -(dayOfMonth-1));//将小时至0  calendar.set(Calendar.HOUR_OF_DAY, 0);  //将分钟至0  calendar.set(Calendar.MINUTE, 0);  //将秒至0  calendar.set(Calendar.SECOND,0);  //将毫秒至0  calendar.set(Calendar.MILLISECOND, 0);return calendar.getTime();}/*** 得到当天所在的月份的下一个月第一天的0:0:0:000*/public static Date getNextMonthStart(){Calendar calendar = Calendar.getInstance();  // 得到当天是这月的第几天int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);// 减去dayOfMonth,得到第一天的日期,因为Calendar用0代表每月的第一天,所以要减一calendar.add(Calendar.DAY_OF_MONTH, -(dayOfMonth-1));//得到下一个月calendar.add(Calendar.MONTH, 1);//将小时至0  calendar.set(Calendar.HOUR_OF_DAY, 0);  //将分钟至0  calendar.set(Calendar.MINUTE, 0);  //将秒至0  calendar.set(Calendar.SECOND,0);  //将毫秒至0  calendar.set(Calendar.MILLISECOND, 0);return calendar.getTime();}/*** 得到当天所在的年份的第一天的0:0:0:000*/public static Date getThisYearStart(){Calendar calendar = Calendar.getInstance();  // 得到当天是今年的第几天int dayOfYEAR = calendar.get(Calendar.DAY_OF_YEAR);// 减去dayOfYEAR,得到第一天的日期,因为Calendar用0代表每月的第一天,所以要减一calendar.add(Calendar.DAY_OF_YEAR, -(dayOfYEAR-1));//将小时至0  calendar.set(Calendar.HOUR_OF_DAY, 0);  //将分钟至0  calendar.set(Calendar.MINUTE, 0);  //将秒至0  calendar.set(Calendar.SECOND,0);  //将毫秒至0  calendar.set(Calendar.MILLISECOND, 0);return calendar.getTime();}/*** 得到当天所在的年份的下一年第一天的0:0:0:000*/public static Date getNextYearStart(){Calendar calendar = Calendar.getInstance();  // 得到当天是今年的第几天int dayOfYEAR = calendar.get(Calendar.DAY_OF_YEAR);// 减去dayOfYEAR,得到第一天的日期,因为Calendar用0代表每月的第一天,所以要减一calendar.add(Calendar.DAY_OF_YEAR, -(dayOfYEAR-1));//得到下一个年calendar.add(Calendar.YEAR, 1);//将小时至0  calendar.set(Calendar.HOUR_OF_DAY, 0);  //将分钟至0  calendar.set(Calendar.MINUTE, 0);  //将秒至0  calendar.set(Calendar.SECOND,0);  //将毫秒至0  calendar.set(Calendar.MILLISECOND, 0);return calendar.getTime();}/*** 得到两个时间对应年份的间隔 */public static int getYearsBetween(Date startTime,Date endTime){Calendar calendar = Calendar.getInstance();  calendar.setTime(startTime);int year1 = calendar.get(Calendar.YEAR);    //获取年calendar.setTime(endTime);int year2 = calendar.get(Calendar.YEAR);    //获取年int between = year2-year1;return between;}//	当天开始Fri May 30 00:00:00 CST 2014
//	第二天开始Sat May 31 00:00:00 CST 2014
//	星期开始Mon May 26 00:00:00 CST 2014
//	下星期开始Mon Jun 02 00:00:00 CST 2014
//	当月开始Thu May 01 00:00:00 CST 2014
//	下月开始Sun Jun 01 00:00:00 CST 2014
//	当年开始Wed Jan 01 00:00:00 CST 2014
//	下年开始Thu Jan 01 00:00:00 CST 2015}


 

这篇关于项目经验:自己写的根据时段得到日期的CalendarUtil的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/333115

相关文章

Python标准库datetime模块日期和时间数据类型解读

《Python标准库datetime模块日期和时间数据类型解读》文章介绍Python中datetime模块的date、time、datetime类,用于处理日期、时间及日期时间结合体,通过属性获取时间... 目录Datetime常用类日期date类型使用时间 time 类型使用日期和时间的结合体–日期时间(

精选20个好玩又实用的的Python实战项目(有图文代码)

《精选20个好玩又实用的的Python实战项目(有图文代码)》文章介绍了20个实用Python项目,涵盖游戏开发、工具应用、图像处理、机器学习等,使用Tkinter、PIL、OpenCV、Kivy等库... 目录① 猜字游戏② 闹钟③ 骰子模拟器④ 二维码⑤ 语言检测⑥ 加密和解密⑦ URL缩短⑧ 音乐播放

Springboot项目启动失败提示找不到dao类的解决

《Springboot项目启动失败提示找不到dao类的解决》SpringBoot启动失败,因ProductServiceImpl未正确注入ProductDao,原因:Dao未注册为Bean,解决:在启... 目录错误描述原因解决方法总结***************************APPLICA编

在IntelliJ IDEA中高效运行与调试Spring Boot项目的实战步骤

《在IntelliJIDEA中高效运行与调试SpringBoot项目的实战步骤》本章详解SpringBoot项目导入IntelliJIDEA的流程,教授运行与调试技巧,包括断点设置与变量查看,奠定... 目录引言:为良驹配上好鞍一、为何选择IntelliJ IDEA?二、实战:导入并运行你的第一个项目步骤1

IntelliJ IDEA2025创建SpringBoot项目的实现步骤

《IntelliJIDEA2025创建SpringBoot项目的实现步骤》本文主要介绍了IntelliJIDEA2025创建SpringBoot项目的实现步骤,文中通过示例代码介绍的非常详细,对大家... 目录一、创建 Spring Boot 项目1. 新建项目2. 基础配置3. 选择依赖4. 生成项目5.

深度解析Java项目中包和包之间的联系

《深度解析Java项目中包和包之间的联系》文章浏览阅读850次,点赞13次,收藏8次。本文详细介绍了Java分层架构中的几个关键包:DTO、Controller、Service和Mapper。_jav... 目录前言一、各大包1.DTO1.1、DTO的核心用途1.2. DTO与实体类(Entity)的区别1

如何在Spring Boot项目中集成MQTT协议

《如何在SpringBoot项目中集成MQTT协议》本文介绍在SpringBoot中集成MQTT的步骤,包括安装Broker、添加EclipsePaho依赖、配置连接参数、实现消息发布订阅、测试接口... 目录1. 准备工作2. 引入依赖3. 配置MQTT连接4. 创建MQTT配置类5. 实现消息发布与订阅

springboot项目打jar制作成镜像并指定配置文件位置方式

《springboot项目打jar制作成镜像并指定配置文件位置方式》:本文主要介绍springboot项目打jar制作成镜像并指定配置文件位置方式,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录一、上传jar到服务器二、编写dockerfile三、新建对应配置文件所存放的数据卷目录四、将配置文

怎么用idea创建一个SpringBoot项目

《怎么用idea创建一个SpringBoot项目》本文介绍了在IDEA中创建SpringBoot项目的步骤,包括环境准备(JDK1.8+、Maven3.2.5+)、使用SpringInitializr... 目录如何在idea中创建一个SpringBoot项目环境准备1.1打开IDEA,点击New新建一个项

springboot项目中整合高德地图的实践

《springboot项目中整合高德地图的实践》:本文主要介绍springboot项目中整合高德地图的实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一:高德开放平台的使用二:创建数据库(我是用的是mysql)三:Springboot所需的依赖(根据你的需求再