项目经验:自己写的根据时段得到日期的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

相关文章

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

golang内存对齐的项目实践

《golang内存对齐的项目实践》本文主要介绍了golang内存对齐的项目实践,内存对齐不仅有助于提高内存访问效率,还确保了与硬件接口的兼容性,是Go语言编程中不可忽视的重要优化手段,下面就来介绍一下... 目录一、结构体中的字段顺序与内存对齐二、内存对齐的原理与规则三、调整结构体字段顺序优化内存对齐四、内

配置springboot项目动静分离打包分离lib方式

《配置springboot项目动静分离打包分离lib方式》本文介绍了如何将SpringBoot工程中的静态资源和配置文件分离出来,以减少jar包大小,方便修改配置文件,通过在jar包同级目录创建co... 目录前言1、分离配置文件原理2、pom文件配置3、使用package命令打包4、总结前言默认情况下,

springboot日期格式化全局LocalDateTime详解

《springboot日期格式化全局LocalDateTime详解》文章主要分析了SpringBoot中ObjectMapper对象的序列化和反序列化过程,并具体探讨了日期格式化问题,通过分析Spri... 目录分析ObjectMapper与jsonSerializer结论自定义日期格式(全局)扩展利用配置

python实现简易SSL的项目实践

《python实现简易SSL的项目实践》本文主要介绍了python实现简易SSL的项目实践,包括CA.py、server.py和client.py三个模块,文中通过示例代码介绍的非常详细,对大家的学习... 目录运行环境运行前准备程序实现与流程说明运行截图代码CA.pyclient.pyserver.py参

IDEA运行spring项目时,控制台未出现的解决方案

《IDEA运行spring项目时,控制台未出现的解决方案》文章总结了在使用IDEA运行代码时,控制台未出现的问题和解决方案,问题可能是由于点击图标或重启IDEA后控制台仍未显示,解决方案提供了解决方法... 目录问题分析解决方案总结问题js使用IDEA,点击运行按钮,运行结束,但控制台未出现http://

对postgresql日期和时间的比较

《对postgresql日期和时间的比较》文章介绍了在数据库中处理日期和时间类型时的一些注意事项,包括如何将字符串转换为日期或时间类型,以及在比较时自动转换的情况,作者建议在使用数据库时,根据具体情况... 目录PostgreSQL日期和时间比较DB里保存到时分秒,需要和年月日比较db里存储date或者ti

解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题

《解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题》文章详细描述了在使用lombok的@Data注解标注实体类时遇到编译无误但运行时报错的问题,分析... 目录问题分析问题解决方案步骤一步骤二步骤三总结问题使用lombok注解@Data标注实体类,编译时

C语言小项目实战之通讯录功能

《C语言小项目实战之通讯录功能》:本文主要介绍如何设计和实现一个简单的通讯录管理系统,包括联系人信息的存储、增加、删除、查找、修改和排序等功能,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录功能介绍:添加联系人模块显示联系人模块删除联系人模块查找联系人模块修改联系人模块排序联系人模块源代码如下

SpringBoot项目中Maven剔除无用Jar引用的最佳实践

《SpringBoot项目中Maven剔除无用Jar引用的最佳实践》在SpringBoot项目开发中,Maven是最常用的构建工具之一,通过Maven,我们可以轻松地管理项目所需的依赖,而,... 目录1、引言2、Maven 依赖管理的基础概念2.1 什么是 Maven 依赖2.2 Maven 的依赖传递机