java工具:《获取上个月的结束时间》

简介: java工具:《获取上个月的结束时间》

image.png

@[toc]

一、介绍

这段代码定义了一个名为 getBeforeLastMonth 的静态方法,其核心功能是获取上个月最后一天的结束时刻,即上个月最后一天的 23:59:59 点。

方法逻辑解析:

  1. 获取当前时间:首先通过 Calendar.getInstance() 获取当前系统时间。
  2. 月份回退:通过 add(Calendar.MONTH, -1) 将日期调整到上个月。
  3. 定位月末:关键一步在于使用 calendar.getActualMaximum(Calendar.DAY_OF_MONTH) 动态获取上个月的实际最大天数(可能是 28、29、30 或 31),并将日历日字段设置为该值,从而准确定位到上个月的最后一天。
  4. 设置末时刻:接着将小时设置为 23、分钟设置为 59、秒钟设置为 59、毫秒设置为 999,精确锁定在上个月最后一天的最后一刻。
  5. 返回结果:最终返回一个 Date 对象,代表上个月最后一天的 23:59:59。

应用场景:
这个方法与 getBeforeFirstMonth 方法形成完美配对,共同用于构建上个月的完整时间区间。在月度数据统计、财务报表生成、订阅周期结算等场景中,该方法返回的时间点可以作为查询条件的上限(小于等于该时间),配合上个月开始时间,即可精确覆盖从上个月1号零点到月末最后一刻的全部数据,确保统计范围既不遗漏也不越界。

二、代码

/**
* author:Yu Yang
* 获取上个月的结束时间
*/
public static Date getBeforeLastMonth(){
    
   Calendar calendar = Calendar.getInstance();// 获取当前日期
   calendar.add(Calendar.YEAR, 0);
   calendar.add(Calendar.MONTH, -1);
   calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));// 获取当前月最后一天
   calendar.set(Calendar.HOUR_OF_DAY, 23);
   calendar.set(Calendar.MINUTE, 59);
   calendar.set(Calendar.SECOND, 59);
   calendar.set(Calendar.MILLISECOND, 999);
   return calendar.getTime();
}

结果展示

System.out.println(getBeforeLastMonth());   //Tue May 31 23:59:59 CST 2022

image.png
重要信息

image.png
image.png
image.png
image.png
image.png

目录
相关文章
|
1天前
|
存储 缓存 Java
Java 对象内存布局:从堆内存储到伪共享优化的底层真相
Java对象内存布局是JVM核心基础:含对象头(Mark Word+Klass指针)、实例数据(字段重排序优化)和对齐填充(8字节对齐)。它直接影响内存占用、GC效率、锁升级与伪共享性能。掌握此机制,是深入理解并发优化(如@Contended)、指针压缩及高性能编程的必经之路。(239字)
46 16
|
13小时前
|
人工智能 JavaScript API
OpenClaw(Clawdbot)阿里云及本地部署保姆级图文教程:百炼API-Key配置+飞书集成及常见问题解答
在AI技术深度融入工作流的当下,本地部署的智能代理工具凭借隐私性与可控性的优势成为行业新趋势,OpenClaw(原Clawdbot/Moltbot)作为开源的本地AI代理工具,能够实现多模型的统一调度与自动化任务执行,为个人办公与企业协作打造高效的AI工作中枢。2026年版本的OpenClaw进一步优化了跨平台兼容性与模型对接能力,尤其实现了与阿里云百炼大模型的深度适配,让零基础用户也能快速完成Windows11、MacOS、Linux多系统的本地部署,同时实现免费大模型的调用与配置。本文将从环境准备、多系统部署、阿里云百炼API配置、功能验证到常见问题解答,为新手呈现一套完整的OpenCla
97 2
|
7天前
|
人工智能 监控 区块链
保姆级图文教学!OpenClaw(Clawdbot)阿里云/本地部署+7大场景70个真实案例 效率翻倍指南
OpenClaw(原Clawdbot、Moltbot)的爆火,不在于其基础的对话能力,而在于它“自主执行任务”的核心特性——通过70个经过社区验证的真实案例,覆盖内容创作、记忆管理、夜间自动化、金融监控等8大核心场景,真正实现“你睡觉、AI干活”的高效模式。无论是医生将医学通讯转为通勤播客,还是开发者让AI夜间清理GitHub过期Issue,OpenClaw都在通过场景化落地,重新定义AI助手的价值。
255 4
保姆级图文教学!OpenClaw(Clawdbot)阿里云/本地部署+7大场景70个真实案例 效率翻倍指南
|
19天前
|
人工智能 运维 安全
2026年OpenClaw(Clawdbot)极速部署与OpenClaw Skills生态运维指南
2026年,开源AI智能体技术进入爆发期,OpenClaw(原Clawdbot、Moltbot)凭借“本地优先、全链路可执行、技能生态丰富”的核心特性,成为个人与轻量团队实现自动化办公的首选工具。它彻底打破了传统AI“只会对话不会执行”的局限,通过标准化的Skills(技能)体系,能够像人类一样调用工具、处理文件、对接系统,完成从内容总结到跨平台推送的全流程任务。
238 10
|
22天前
|
人工智能 弹性计算 云计算
阿里云服务器优惠价格全解析:1年、1个月、1小时费用标准+选型指南+实操技巧
2026年阿里云持续深耕普惠云计算领域,针对个人用户、开发者、中小企业及大型企业等不同群体,推出了覆盖全场景、全配置的服务器优惠政策,核心呈现“入门款长效低价、中高配阶梯降价、多计费模式灵活适配”的特点,优惠力度最大直降90%,彻底打破了“云计算高成本”的认知壁垒。本文基于阿里云官方最新定价、优惠活动政策及全网实测资料,详细拆解2026年阿里云服务器1年、1个月、1小时的具体费用标准,区分轻量应用服务器、ECS云服务器、GPU实例三大核心产品,补充计费模式解读、不同场景选型建议、优惠领取实操、成本优化技巧及常用代码命令,全程无无关平台信息,透明无隐藏消费,帮助各类用户精准核算成本、锁定优惠
845 16
|
12天前
|
人工智能 Java 程序员
突破封装之困:AI时代编程新范式——面向意图编程(Intent-Oriented Programming, IOP)
本文提出“面向意图编程(IOP)”——AI时代的全新软件工程范式。它弱化传统抽象机制,以业务意图为核心资产,由AI在约束下自动生成最优执行代码,并通过版本化与原子变更保障一致性。IOP实现从“写代码”到“定义意图”的根本转变,释放AI效能,重构开发本质。(239字)
|
16天前
|
人工智能 监控 网络安全
2026年开工不想工作?3分钟部署OpenClaw(原Clawdbot)AI助手 24小时为我工作
春节假期结束,不少人刚回到工位就陷入“开工倦怠”:不想回邮件、不想整理报表、不想写代码、不想处理重复琐碎的事务,只想发呆摸鱼,但工作任务堆成山, deadlines 步步紧逼。有没有一种方式,能让AI替我们完成大部分机械性、重复性工作,实现“人在摸鱼,工作已完成”的理想状态?答案就是**阿里云OpenClaw(原Clawdbot)**——一款能7×24小时不间断工作的开源AI自动化助手,无需人工盯守,一句话下达指令,就能自动执行办公、开发、搜索、整理、定时任务等全场景操作。
283 9
|
17天前
|
运维 监控 数据可视化
什么样的低代码,才能真正落地?
本文系统剖析企业级低代码平台的工程化本质,指出其价值不在于“拖拽快”,而取决于架构设计、引擎能力与演进机制是否成熟。涵盖可视化工作流、六大核心引擎、模型驱动开发、AI深度融合、插件生态及开放架构等维度,强调在真实业务中兼顾效率、性能、治理与可持续演进。
|
3天前
|
人工智能 测试技术 Linux
OpenClaw到底能用来做什么?阿里云/Win11/Mac/Linux部署配置免费API+36个真实用例解析+FAQ
“OpenClaw到底能用来做什么?”——这是新手入门时最常问的问题。作为19K+ Star的开源AI代理框架,OpenClaw的核心价值不在于单一功能,而在于“场景化自动化”——通过技能组合与多Agent协作,覆盖内容创作、生产力提升、知识管理、基础设施维护等全场景需求。
208 14
|
9小时前
|
Ubuntu 机器人 API
【保姆级教程】OpenClaw多Agent部署路由实战指南:全平台部署+飞书群绑定+阿里云百炼API配置指南
2026年,OpenClaw的多Agent协同能力已成为核心竞争力——通过创建不同角色的Agent(如办公助理、技术支持、数据分析师),可实现“专人专事”的高效协作。但多数用户在落地时遭遇两大痛点:一是“身份错位”,Agent在飞书群等渠道回复时身份混淆,消息未路由到对应Agent;二是“配置失效”,手动添加字段导致Gateway报错,整个路由规则瘫痪。
64 1