项目经验:自己写的根据时段得到日期的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开发文字版随机事件游戏的项目实例

《Python开发文字版随机事件游戏的项目实例》随机事件游戏是一种通过生成不可预测的事件来增强游戏体验的类型,在这篇博文中,我们将使用Python开发一款文字版随机事件游戏,通过这个项目,读者不仅能够... 目录项目概述2.1 游戏概念2.2 游戏特色2.3 目标玩家群体技术选择与环境准备3.1 开发环境3

python处理带有时区的日期和时间数据

《python处理带有时区的日期和时间数据》这篇文章主要为大家详细介绍了如何在Python中使用pytz库处理时区信息,包括获取当前UTC时间,转换为特定时区等,有需要的小伙伴可以参考一下... 目录时区基本信息python datetime使用timezonepandas处理时区数据知识延展时区基本信息

SpringBoot项目中报错The field screenShot exceeds its maximum permitted size of 1048576 bytes.的问题及解决

《SpringBoot项目中报错ThefieldscreenShotexceedsitsmaximumpermittedsizeof1048576bytes.的问题及解决》这篇文章... 目录项目场景问题描述原因分析解决方案总结项目场景javascript提示:项目相关背景:项目场景:基于Spring

解决Maven项目idea找不到本地仓库jar包问题以及使用mvn install:install-file

《解决Maven项目idea找不到本地仓库jar包问题以及使用mvninstall:install-file》:本文主要介绍解决Maven项目idea找不到本地仓库jar包问题以及使用mvnin... 目录Maven项目idea找不到本地仓库jar包以及使用mvn install:install-file基

springboot项目如何开启https服务

《springboot项目如何开启https服务》:本文主要介绍springboot项目如何开启https服务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录springboot项目开启https服务1. 生成SSL证书密钥库使用keytool生成自签名证书将

Java实现优雅日期处理的方案详解

《Java实现优雅日期处理的方案详解》在我们的日常工作中,需要经常处理各种格式,各种类似的的日期或者时间,下面我们就来看看如何使用java处理这样的日期问题吧,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言一、日期的坑1.1 日期格式化陷阱1.2 时区转换二、优雅方案的进阶之路2.1 线程安全重构2

将Java项目提交到云服务器的流程步骤

《将Java项目提交到云服务器的流程步骤》所谓将项目提交到云服务器即将你的项目打成一个jar包然后提交到云服务器即可,因此我们需要准备服务器环境为:Linux+JDK+MariDB(MySQL)+Gi... 目录1. 安装 jdk1.1 查看 jdk 版本1.2 下载 jdk2. 安装 mariadb(my

Node.js 数据库 CRUD 项目示例详解(完美解决方案)

《Node.js数据库CRUD项目示例详解(完美解决方案)》:本文主要介绍Node.js数据库CRUD项目示例详解(完美解决方案),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考... 目录项目结构1. 初始化项目2. 配置数据库连接 (config/db.js)3. 创建模型 (models/

springboot项目中常用的工具类和api详解

《springboot项目中常用的工具类和api详解》在SpringBoot项目中,开发者通常会依赖一些工具类和API来简化开发、提高效率,以下是一些常用的工具类及其典型应用场景,涵盖Spring原生... 目录1. Spring Framework 自带工具类(1) StringUtils(2) Coll

Mysql表如何按照日期字段的年月分区

《Mysql表如何按照日期字段的年月分区》:本文主要介绍Mysql表如何按照日期字段的年月分区的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、创键表时直接设置分区二、已有表分区1、分区的前置条件2、分区操作三、验证四、注意总结一、创键表时直接设置分区