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

目录
相关文章
|
3天前
|
存储 缓存 Java
Java 对象内存布局:从堆内存储到伪共享优化的底层真相
Java对象内存布局是JVM核心基础:含对象头(Mark Word+Klass指针)、实例数据(字段重排序优化)和对齐填充(8字节对齐)。它直接影响内存占用、GC效率、锁升级与伪共享性能。掌握此机制,是深入理解并发优化(如@Contended)、指针压缩及高性能编程的必经之路。(239字)
207 111
|
6天前
|
JavaScript 前端开发
JavaScript小技巧:数组去重的几种优雅写法
JavaScript小技巧:数组去重的几种优雅写法
329 142
|
2天前
|
存储 安全 Linux
OpenClaw Skill 安全指南:阿里云/Win11/MacOS/Linux部署步骤+8类高危Skill黑名单+安全避坑FAQ
“给OpenClaw装Skill,就像给陌生人开家门——门开得越大,风险越高”——这是2026年OpenClaw用户最该牢记的安全准则。作为开源AI智能体的核心优势,Skill生态让OpenClaw能解锁翻译、办公、自动化等多样功能,但参考文章作者的实测与真实安全案例警示:海量Skill中混杂着大量“埋雷”工具,可能窃取密钥、访问隐私文件、植入恶意程序,甚至造成财产损失。
185 6
|
2天前
|
人工智能 API 数据库
OpenClaw 告别失忆与费 Token 吞金教程:阿里云/本地部署+配置免费API+lossless-claw插件优化管理上下文指南
2026年,OpenClaw(曾用名Clawdbot)凭借“本地优先+长时记忆”的特性成为开源圈热门工具,但用户普遍面临两大痛点:一是“失忆”——长对话中关键信息被随机丢弃,任务执行到一半偏离目标;二是“吞金”——默认滑动窗口压缩机制导致上下文冗余,Token消耗剧增,长期使用成本高昂。这两个问题形成恶性循环:脏上下文让模型表现拉胯,用户被迫降低模型规格,而低规格模型在冗余信息中更难发挥作用,最终让OpenClaw陷入“不好用”的口碑困境。
311 2
|
2天前
|
Linux API iOS开发
OpenClaw (阿里云/本地)零基础部署步骤+本地大模型及百炼API配置+常见问题一站式解答
OpenClaw(Clawdbot)作为轻量化的AI智能体工具,凭借灵活的模型适配能力和丰富的功能拓展性成为开发者的常用工具,但云端模型调用带来的海量Token消耗让不少使用者望而却步。2026年随着Qwen3.5系列开源大模型的发布,结合本地GPU算力实现OpenClaw的低成本部署成为可能,同时阿里云百炼API的兼容配置也让云端+本地的混合使用模式得以实现。本文将从零基础出发,详细讲解Windows11、MacOS、Linux三大系统下OpenClaw的本地部署步骤,结合LM Studio实现Qwen3.5大模型的本地推理,同时完成阿里云百炼API的配置,并对部署过程中的常见问题进行解答,
966 7
|
4天前
|
数据采集 JSON API
从踩坑到高效落地:关键词搜索京东商品列表API的实操心得
本指南聚焦京东商品列表API实操,详解jd.item_search接口调用要点:涵盖必填参数(app_key、timestamp、sign等)、关键词/分页/价格筛选配置及核心响应字段(SKU、标题、售价、销量等),助开发者快速对接,高效获取合规商品数据。(239字)
108 22
|
2月前
|
人工智能 应用服务中间件 API
刚刚,阿里云上线Clawdbot全套云服务!
阿里云上线Moltbot(原Clawdbot)全套云服务,支持轻量服务器/无影云电脑一键部署,可调用百炼平台百余款千问模型,打通iMessage与钉钉消息通道,打造开箱即用的AI智能体助手。
5300 49
刚刚,阿里云上线Clawdbot全套云服务!
|
1月前
|
人工智能 API 机器人
OpenClaw 用户部署和使用指南汇总
本文档为OpenClaw(原MoltBot)官方使用指南,涵盖一键部署(阿里云轻量服务器年仅68元)、钉钉/飞书/企微等多平台AI员工搭建、典型场景实践及高频问题FAQ。同步更新产品化修复进展,助力用户高效落地7×24小时主动执行AI助手。
17190 85
|
2天前
|
人工智能 安全 程序员
50%的人给了差评:龙虾为何在技术论坛翻车了?
OpenClaw(龙虾)AI工具因“自动赚钱”“代约主播”等夸张宣传走红,但吾爱破解论坛投票显示:50%技术用户未下载且不认可其能力。技术圈冷静源于见惯“神器”泡沫——AI擅写代码(搬砖),却难懂需求、统筹系统。它不是神药,而是待磨的砍柴刀。
85 3
50%的人给了差评:龙虾为何在技术论坛翻车了?
|
2天前
|
人工智能 JavaScript API
OpenClaw(Clawdbot)阿里云及本地部署保姆级图文教程:百炼API-Key配置+飞书集成及常见问题解答
在AI技术深度融入工作流的当下,本地部署的智能代理工具凭借隐私性与可控性的优势成为行业新趋势,OpenClaw(原Clawdbot/Moltbot)作为开源的本地AI代理工具,能够实现多模型的统一调度与自动化任务执行,为个人办公与企业协作打造高效的AI工作中枢。2026年版本的OpenClaw进一步优化了跨平台兼容性与模型对接能力,尤其实现了与阿里云百炼大模型的深度适配,让零基础用户也能快速完成Windows11、MacOS、Linux多系统的本地部署,同时实现免费大模型的调用与配置。本文将从环境准备、多系统部署、阿里云百炼API配置、功能验证到常见问题解答,为新手呈现一套完整的OpenCla
566 6