java--获取近几个月的月初和月末

【Java8】java.time 根据日期获取年初年末、月初月末、日初日末 记录日常开发中Java 8时间API的常用的日期转换代码。:下文中,都以LocalDateTime为例,在不声明的情况下如下方法一般都适用于Java8中LocalDate、LocalDateTime、OffsetDateTime、ZonedDateTime等时间类,不适用某些类时会在文中有提醒。 阅读详情
package com.xxx.xxx.util;

import java.text.SimpleDateFormat;
import java.util.*;

/**
 * @author BuShuangLi
 * @date 2019/5/22
 */
public class MissingDateUtil {
	/**
	 * 查询近几个月的月初和月末
	 * @param num 近五个月 num=5
	 * @return
	 */
	public static synchronized List<Map<String, Object>> getRecentMonths(int num){
		List<Map<String, Object>> maps = new ArrayList<Map<String, Object>>();
		//当前时所在月份的第一天和最后一天
		SimpleDateFormat format=new SimpleDateFormat("yyyy-MM");
		//设置startDate
		Calendar c = Calendar.getInstance();
		//设置endDate
		Calendar c2 = Calendar.getInstance();
		for (int i = 0; i < num; i++) {
			HashMap<String, Object> dateMap = new HashMap<String, Object>();
			//设置start
			//设置为1号,当前日期既为本月第一天
			c.set(Calendar.DAY_OF_MONTH,1);
			//设置为0点0分0秒
			c.set(c.get(c.YEAR), c.get(c.MONTH), c.get(c.DAY_OF_MONTH), 0, 0, 0);
			//存入年月显示
			dateMap.put("yearMonthStr",format.format(c.getTime()));
			dateMap.put("startDate",c.getTime());
			//将c 设置为下个月
			c.add(c.DATE, -1);



			//设置end 为当前月的月底 23时59分59秒
			c2.set(Calendar.DAY_OF_MONTH,1);
			//设置时间 23时59分59秒
			c2.set(c2.get(c.YEAR), c2.get(c.MONTH), c2.get(c.DAY_OF_MONTH), 23, 59, 59);
			//获得当前月最后一天
			c2.add(Calendar.MONTH, 1);
			c2.set(Calendar.DAY_OF_MONTH, 0);
			//存入map
			dateMap.put("endDate",c2.getTime());
			//获取当前时间的下一个月
			c2.add(Calendar.MONTH, -1);
			//将c2设置为当前时间上一个月
			c2.set(c.get(c.YEAR), c.get(c.MONTH), c.get(c.DAY_OF_MONTH));
			//放入集合
			maps.add(dateMap);

		}
	}
}

数据格式

[{
	endDate = Fri May 31 23: 59: 59 CST 2019,
	yearMonthStr = 2019 - 05,
	startDate = Wed May 01 00: 00: 00 CST 2019
}, {
	endDate = Tue Apr 30 23: 59: 59 CST 2019,
	yearMonthStr = 2019 - 04,
	startDate = Mon Apr 01 00: 00: 00 CST 2019
}, {
	endDate = Sun Mar 31 23: 59: 59 CST 2019,
	yearMonthStr = 2019 - 03,
	startDate = Fri Mar 01 00: 00: 00 CST 2019
}, {
	endDate = Thu Feb 28 23: 59: 59 CST 2019,
	yearMonthStr = 2019 - 02,
	startDate = Fri Feb 01 00: 00: 00 CST 2019
}, {
	endDate = Thu Jan 31 23: 59: 59 CST 2019,
	yearMonthStr = 2019 - 01,
	startDate = Tue Jan 01 00: 00: 00 CST 2019
}]

 

jmeter自动判断当前的大小月,获得首月和月末的时间 问题:有的时候接口的传参是这样,如下: {"page":1,"limit":20,"promoterId":"1533912923313806","realStartTimeStart":"2019-3-01 00:00:00","realStartTimeEnd":"2019-3-31 23:59:59"} realStartTimeStart 阅读详情

相关推荐

ToastUtils:Android 吐司框架,专治 Toast 各种疑难杂症

吐司工具类 码云地址: 博客地址: 已投入公司项目多时,没有任何毛病,可胜任任何需求, 想了解实现原理的可以点击此链接查看: 源码 本框架意在解决一些常见需求,如果是有一些极端的需求推荐使用 集成步骤 dependencies { implementation 'com.hjq:toast:8.8' } 初始化 Toast // 在 Application 中初始化 ToastUtils.init(this); 显示 Toast ToastUtils.show("我是吐司"); 其他 API // 设置Toast布局 ToastUtils.setView(); // 设置吐司重心 ToastUtils.setGravity(); // 获取Toast对象 ToastUtils.getToast(); 自定义Toast样式 如果对Toast的默认样式不满意,可以在Applicatio

ToastUtils 工具类

ToastUtils 工具类

dodod2012的专栏 760

LightTools 中LCD投影仿真的checkerboard pattern偏振控制技术解析

本文深入解析了在LightTools软件中进行LCD投影仿真时,利用checkerboard pattern(棋盘格图案)结合偏振控制技术来模拟液晶面板像素开关、提升图像对比度的核心方法。文章从实战角度出发,详细拆解了通过设置波片(如1/2波片)和偏振片来操控S光与P光转换的原理,并分享了在LightTools中搭建仿真模型、使用VBA脚本自动化配置参数以提高效率的实用技巧,为光学工程师优化投影系统仿真流程提供了清晰指导。

weixin_29305313的博客 343

Android11版本Toast报错

在Android11上使用Toast带图片,toast.getView()为null,查了下,原来在Android11,API已经禁止了一些方法。 解决如下: public static void showCenter(Context context, String text) { Toast toast = Toast.makeText(context, text, Toast.LENGTH_SHORT); // 放在左上角。如果你想往右边移动,将第二个参数设为...

爱上网的大花猫 2146

S4 Hana SD -信贷管理 - 02

在S4版本中,客户的信用管理数据在事务代码BP维护,业务伙伴角色是UKM000。在维护过程中,我们并不能直接输入信贷控制范围这个组织架构,而是需要输入一个信用段,并且在信用段的维度下去维护相应信用管理数据。对于信用段,可以分为主信用段(信用段是0000)和其他临时信用段,我们可以通过配置把次级信用段的客户信贷负债汇总到主信用段。当然,在后台也有配置,会把信用段和信贷控制范围这两者进行关联.3.2SPROIMG > 财务供应链管理 > 信用管理 > 信贷风险监视 > 主数据 > 创建信用段。

weixin_46525734的博客 1965

《21天学通C++》阶段性成果测试题——hstring(手写string类)

总体考察了类的使用,缓冲区考察了指针和数组的使用、增删改查、考察编码思维、考察了类的重载。1.初始化子字符串的起始位置为-1,表示未找到,若buffer或findHstring为空,则返回-1。右边的字符串不为空,则分别获取母串和子串的长度(用循环),然后创建一个固定大小的数组。3.然后循环遍历寻找子串在母串中的起始位置,循环时可以通过两个长度相减,避免循环越界。2.如都不为空,则分别获取双方的字符串长度(用循环),然后。右边的字符串为空,则输出原来的字符串。是否为空,有一方为空则返回另一方。

立志成为炼丹师? 1263

Android - 工具类 Utils

【代码】Android - 工具类 Utils。

HugMua的博客 770

Vibe Coding 实战指南:用 3 类社区资源实现每周高效追新

介绍一种分层技术雷达校准方法,通过领域过滤器(L1技术栈锚定、L2能力映射、L3场景收敛)精准筛选AI编程相关更新,结合可验证的Shell命令与CI任务卡,将信息过载压缩为可执行、可审计的工程实践。

weixin_27251469的博客 329

ToastUtils 的使用

public class ToastUtils { private Toast mToast; private Context context; public ToastUtils(Context context){ this.context = context; } /********************** 非连续弹出的Toas...

洪勇坤的博客 3394

xtop:multi_driven_net与incomplete_timing_cell fail reason 分析

man multi_driven_net”可以得知,这个问题是multi driven结构引起的,使用命令“get_failed_pins -reason multi_driven_net”,获取violation pin。“man incomplete_timing_cell”可以得知,这个fail reason的原因是缺少timing library cell,检查并补全后这个错误就显示了。这里选择的解决方法是修改lib文件,把inout改成input,重新lib2idb。通过这种方法解决了问题。

m0_61544122的博客 564

3、无限维系统理论中的算子与半群:概念、定理及应用

本博文深入探讨了无限维系统理论中的两个核心概念:里茨谱算子与卢默-菲利普斯定理。文章首先介绍了里茨基的定义与性质,分析了谱、预解集及特征值在无限维系统中的特性,并详细阐述了里茨谱算子的条件及其生成C0-半群的能力,结合阻尼欧拉-伯努利梁模型展示了其应用。随后,文章介绍了卢默-菲利普斯定理及其推论,通过多个偏微分方程实例(如一阶方程、柔性梁、波动方程和扩散问题)说明如何利用该定理判断算子是否生成压缩半群。此外,还强调了状态空间选择和边界条件对系统适定性的重要影响,并总结了相关问题的解决步骤与方法。

flink9streamer的博客 146

使用LocalDateTime获取上个月月初或月末时间

package com.jinliang.test; import org.junit.Test; import java.text.SimpleDateFormat; import java.time.LocalDateTime; import java.time.ZoneId; import java.time.format.DateTimeFormatter; import java....

qq_42165358的博客 1万+

四足狗机器人硬件开发技术栈详解

本文系统介绍了四足狗机器人的硬件开发技术,重点分析了五大核心模块:机械结构(骨架设计)、动力系统(关节驱动)、感知系统(环境监测)、控制系统(决策中枢)和电源系统(能源管理)。文章详细阐述了各模块的选型标准、技术要点和协同设计原则,提供了从需求定位到组装调试的完整开发流程,并针对常见问题给出解决方案。随着材料轻量化、模块标准化和AI集成化的发展趋势,四足机器人硬件将向更灵活、更智能的方向演进,为工业巡检、应急救援等场景提供更强大的移动平台支持。

start_up_go的博客 284

java获取月末日期_Java获取给定日期的月初和月末两个日期

在Java开发过程中,我们会遇到很多关于日期操作的问题,今天就跟大家分享一下如何获取给定日期的月初和月末两个日期。代码如下:public String getFirstAndLastDayOfMonth() throws Exception {String date_str = "2019-02-15";Calendar cale = Calendar.getInstance();SimpleDa...

weixin_32619013的博客 3775

PCB铺铜技巧如何铺铜经验总结

铺铜是指在PCB电气层添加整块的铜皮;铺铜包括电源层铺铜,地层铺铜和信号走线层空闲区域铺铜;铺铜是PCB设计的一个重要的环节。

fydar的博客 1万+

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Java根据当前日期获取年初,年末,季初,季末,月初,月末日期的方法

年初 public static Date getYearFirst(){ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Calendar c = Calendar.getInstance(); c.clear(Calendar.MONTH); c.add(Calendar.YEAR, 0); /*c.add(Calendar.MONTH, 0);*/ c.set(Calendar.DA

一切都会好起来的,即使不在今天 5347

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Java根据一个指定的年月获取此月份的月初和月末

JAVA 一、根据指定年月获取月初和月末。 二、根据当前系统日期获取月初和月末。

MaleLiu的博客 1万+

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

获取月初、月末

package com.zrar.date; 2 import java.util.Calendar; 3 /** 4 * 5 * 描述:此类用于取得当前日期相对应的月初,月末,季初,季末,年初,年末,返回值均为String字符串 6 * 1、得到当前日期 today() 7 * 2、得到当前月份月初 thisMont

Zgy18307211477的博客 559

java获取月初和月末日期--hutool版

依赖引入 <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-core</artifactId> <version>5.5.6</version> </dependency> 每月1号获取上个月月初和月末的日期 import cn.hutool.core.date.DateUtil; import java

xuyafeigood的博客 6764

java获取月末日期_Java用于取得当前日期相对应的月初,月末,季初,季末,年初,年末时间详解...

package com.zrar.date;import java.util.Calendar;/**** 描述:此类用于取得当前日期相对应的月初,月末,季初,季末,年初,年末,返回值均为String字符串* 1、得到当前日期 today()* 2、得到当前月份月初 thisMonth()* 3、得到当前月份月底 thisMonth...

weixin_33524408的博客 3438

java获取月末日期_Java,Calendar -- 获取当前日期、当月月初日期、月末日期

public class CalendarTest {public static void main(String[] args) {// 获取当前年份、月份、日期Calendar cale = null;cale = Calendar.getInstance();int year = cale.get(Calendar.YEAR);int month = cale.get(Calendar.MO...

weixin_42524013的博客 738

获取月初和月末

package com.chryl.test; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; /** * 获取月初和月末 */ public class Test5 { public static void main(String[] args) throws Exception { getFirstAndLastDayOfMonth("2019-0.

裸睡的鱼 780

获取本月月末和月初的时间戳(秒)

/** * 获取指定日期所在月份月末的时间 * @param year * @param month * @return */ public static int getMonthEnd(int year,int month){ Calendar c = Calendar.getInstance(); c.set(year,month,1,23,59,59); c.add(Calendar.DAY_..

小草无敌超人强 940

java获取年初年末_Java用于取得当前日期相对应的月初,月末,季初,季末,年初,年末时间...

package com.zrar.date;import java.util.Calendar;/**** 描述:此类用于取得当前日期相对应的月初,月末,季初,季末,年初,年末,返回值均为String字符串* 1、得到当前日期 today()* 2、得到当前月份月初 thisMonth()* 3、得到当前月份月底 thisMonth...

weixin_35696321的博客 1980

java 判断当前时间是月初还是月末 和 指定日期月初月末

LocalDate 获得月初或者月末

zhizhizhi_zhi的博客 2200

Java取得:月初,月末

Java代码 package vivi.test;     import java.util.Calendar;   /**    *    * 描述:此类用于取得当前日期相对应的月初,月末,季初,季末,年初,年末,返回值均为String字符串    *      1、得到当前日期         today()    *      2、得到

Loger 9400
上一篇: linux-rz文件上传
下一篇: kettle-基本使用
别浪呀
博客等级 码龄8年 1万+粉丝 260原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值