Java 8 获取本(天周月季度年)的开始、结束时间

【Java】获取 周月季度年 起始结束时间 参考:https://blog.youkuaiyun.com/weixin_37848710/article/details/99696846 /** * 获取周 第一天或最后一天 * @param weeks 0本周,1下周,-1上周 以此类推 * @param isFirst true获取开始时间 false获取结束时间 * @return java.lang.String */ public static String getStartOrEndDayOfWeek(long weeks, Boolean 阅读详情

Java 8 获取本(天周月季度年)的开始、结束时间

Java 8 获取本(天周月季度年)的开始、结束时间

Java 8引入了新的Date-Time API(JSR 310)来改进时间、日期的处理。时间和日期的管理一直是最令Java开发者痛苦的问题。java.util.Date和后来的java.util.Calendar一直没有解决这个问题(甚至令开发者更加迷茫)。

因为上面这些原因,诞生了第三方库Joda-Time,可以替代Java的时间管理API。Java 8中新的时间和日期管理API深受Joda-Time影响,并吸收了很多Joda-Time的精华。新的java.time包包含了所有关于日期、时间、时区、Instant(跟日期类似但是精确到纳秒)、duration(持续时间)和时钟操作的类。新设计的API认真考虑了这些类的不变性(从java.util.Calendar吸取的教训),如果某个实例需要修改,则返回一个新的对象。

Feature

  • Java获取本周的开始时间与结束时间

  • Java获取本月的开始时间与结束时间

  • Java获取本季度的开始时间与结束时间

  • Java获取本年的开始时间与结束时间

  • 结束语

Java获取本周的开始时间与结束时间

代码片.

/**
* @Author: umizhang
* @Title: getStartOrEndDayOfMonth
* @Description TODO 获取本月的第一天或最后一天
* @Date: 2019/7/23 11:50
* @Param: [today, isFirst: true 表示开始时间,false表示结束时间]
* @return: java.lang.String
* @Exception:
*/
public static String getStartOrEndDayOfMonth(LocalDate today, Boolean isFirst){
  LocalDate resDate = LocalDate.now();
  if (today == null) {
    today = resDate;
  }

  if (isFirst) {
    resDate = today .withHourOfDay(0).withMinuteOfHour(0).withSecondOfMinute(0).withDayOfWeek(DateTimeConstants.MONDAY).toDate();
  } else {
    resDate = today .withHourOfDay(23).withMinuteOfHour(59).withSecondOfMinute(59).withDayOfWeek(DateTimeConstants.SUNDAY).toDate();
  }
  return resDate.toString();
}

    // 当前时间
    //LocalDateTime now = LocalDateTime.now();
    // 本周开始时间
    //Date startTimeInWeek = now.withHourOfDay(0).withMinuteOfHour(0).withSecondOfMinute(0).withDayOfWeek(DateTimeConstants.MONDAY).toDate();
    // 本周结束时间
    //Date endTimeInWeek = now.withHourOfDay(23).withMinuteOfHour(59).withSecondOfMinute(59).withDayOfWeek(DateTimeConstants.SUNDAY).toDate();

Java获取本月的开始时间与结束时间

代码片.

/**
* @Author: umizhang
* @Title: getStartOrEndDayOfMonth
* @Description TODO 获取本月的第一天或最后一天
* @Date: 2019/7/23 11:50
* @Param: [today, isFirst: true 表示开始时间,false表示结束时间]
* @return: java.lang.String
* @Exception:
*/
public static String getStartOrEndDayOfMonth(LocalDate today, Boolean isFirst){
  LocalDate resDate = LocalDate.now();
  if (today == null) {
    today = resDate;
  }
  Month month = today.getMonth();
  int length = month.length(today.isLeapYear());
  if (isFirst) {
    resDate = LocalDate.of(today.getYear(), month, 1);
  } else {
    resDate = LocalDate.of(today.getYear(), month, length);
  }
  return resDate.toString();
}

Java获取本季度的开始时间与结束时间

代码片.

/**
* @Author: umizhang
* @Title: getStartOrEndDayOfQuarter
* @Description TODO 获取本季度的第一天或最后一天
* @Date: 2019/7/23 13:46
* @Param: [today, isFirst: true 表示开始时间,false表示结束时间]
* @return: java.lang.String
* @Exception:
*/
public static String getStartOrEndDayOfQuarter(LocalDate today, Boolean isFirst){
  LocalDate resDate = LocalDate.now();
  if (today == null) {
    today = resDate;
  }
  Month month = today.getMonth();
  Month firstMonthOfQuarter = month.firstMonthOfQuarter();
  Month endMonthOfQuarter = Month.of(firstMonthOfQuarter.getValue() + 2);
  if (isFirst) {
    resDate = LocalDate.of(today.getYear(), firstMonthOfQuarter, 1);
  } else {
    resDate = LocalDate.of(today.getYear(), endMonthOfQuarter, endMonthOfQuarter.length(today.isLeapYear()));
  }
  return resDate.toString();
}

Java获取本年的开始时间与结束时间

代码片.

/**
* @Author: umizhang
* @Title: getStartOrEndOfYear
* @Description TODO 获取本年的第一天或最后一天
* @Date: 2019/7/23 13:48
* @Param: [today, isFirst: true 表示开始时间,false表示结束时间]
* @return: java.lang.String
* @Exception:
*/
public static String getStartOrEndDayOfYear(LocalDate today, Boolean isFirst){
  LocalDate resDate = LocalDate.now();
  if (today == null) {
    today = resDate;
  }
  if (isFirst) {
    resDate = LocalDate.of(today.getYear(), Month.JANUARY, 1);
  } else {
    resDate = LocalDate.of(today.getYear(), Month.DECEMBER, Month.DECEMBER.length(today.isLeapYear()));
  }
  return resDate.toString();
}

【unity】Google 登录和Google支付接入unity google 支付 google 登录 阅读详情

相关推荐

微信自动化进阶:Python识别特定消息并自动回复(基于win32api控件操作)

本文详细介绍了如何使用Python和win32api实现微信消息的智能监控与自动回复。通过精准识别聊天记录中的特定关键词,结合多级匹配策略和性能优化技巧,构建稳定高效的自动化回复系统,适用于企业客服、个人助手等场景。

weixin_42663213的博客 441

Java集合中,isEmpty()与size()==0的区别(时间复杂度)。

在进行集合判空时,能用Collection.isEmpty(testList)的就不要用testList.size(),isEmpty不仅可以判断集合是否为null,在时间复杂度上也更优秀。 sonar规范这样描述: Collection.isEmpty() should be used to test for emptiness Using Collection.size() to test for emptiness works, but using Collection.isEmpty() makes

徒手千行代码无bug 4885

别再只用固定线了!聊聊Android车机‘快速倒车’与‘正常倒车’的UI与数据流核心差异(附动态轨迹线实现原理)

本文深度解析Android车机中快速倒车与正常倒车的核心差异,探讨从内核级视频流水线到动态轨迹线的技术实现。快速倒车通过内核直接操作FrameBuffer实现2秒内响应,而正常倒车则支持多传感器数据融合与动态UI元素。文章还分享了动态轨迹线的算法实现与性能优化技巧,帮助开发者打造极致的倒车体验。

weixin_42550597的博客 253

【岁月留声(Java)】集合判断不用size判断用isEmtpy判断

集合判断不用size判断用isEmtpy判断

Kida 的躺平小屋 1121

windows的rancherDesktop修改镜像源

Rancher Desktop中的“Allowed Images”功能(通常在 Preferences -> Container Engine -> Allowed Images 中找到)是用来定义一个允许拉取和推送的镜像列表的规则,例如,只允许从您组织或特定的受信任的仓库中获取镜像。如果问题依旧,请提供您Rancher Desktop的版本和当前选择的容器运行时,以便进一步协助。总结一下,对于Windows上的Rancher Desktop,如果您使用默认的。,镜像源的配置通常通过一个名为。

zwjapple的专栏 2695

Qt 5.15.2静态编译避坑实录:MinGW 32位版从源码到Creator配置的全流程踩坑总结

本文详细介绍了Qt 5.15.2 MinGW 32位版本的静态编译全流程,包括环境准备、配置参数优化、编译过程监控及安装后配置。重点解决了静态编译中的常见问题,如参数顺序敏感、路径引号问题等,并提供了性能对比实测数据,帮助开发者高效完成静态编译。

weixin_26749245的博客 271

Sonar常见问题修改

Sonarlint常见问题

qq_43238568的博客 6431

反激变压器设计学习笔记

反激变压器匝比感量设计

m0_55419117的博客 5261

JDK源码-Collection-isEmpty

Collection这个类是其实只是一个接口,而他的实现类是AbstractCollection这个类。public abstract class AbstractCollection implements Collection。         源码中首先定义了变量:public abstract int size(); 注释int的初始值是0.         isEmpty这个方法源码很

赵大笨笨的博客 7040

复现《水化硅铝酸钙微结构和性能的分子动力学模拟研究》的分子动力学模拟

本文详细复现了杨军博士论文中关于水化硅铝酸钙(C-A-S-H)凝胶的分子动力学模拟方法。研究内容包括:1)基于11Å Tobermorite构建C-A-S-H分子模型,通过缺陷引入和Al掺杂调节Ca/Si比;2)使用ReaxFF力场模拟交联C-A-S-H的结构与力学性能;3)采用ClayFF力场研究纳米孔道中水和离子传输行为。研究提供了完整的LAMMPS输入脚本、Python分析代码和力场参数设置,为水泥基材料纳米尺度模拟提供可复现的技术方案。

huanghm88的专栏 104

【人工智能】提示词避坑指南:为什么大模型越让它“禁止”,它越要“唱反调”?

和 AI 沟通就像和聪明但直脑筋的工科生说话——

奶爸的编程之路,也就一周冷个三天 224

这样规范写代码,同事直呼“666”

来源:cnblogs.com/taojietaoge/p/11575376.html一、MyBatis 不要为了多个查询条件而写 1 = 1当遇到多个查询条件,使用whe...

Java团长的博客 598

【大模型】从0到1:DeepSeek + Coze API调用全攻略,企业,开发个人专属AI智能体使用详解,小白也能轻松上手

本文介绍了如何通过API将Coze智能体集成到自有系统中的完整步骤:1)获取API token和个人工作空间的space_id;2)通过GET请求获取bot_id;3)使用POST发起对话请求,需包含bot_id、user_id和问题内容;4)通过两次API调用异步获取响应消息。文章还解释了Coze采用异步处理机制的原因,并预告了下期将讲解Java调用Coze接口的实现方法。整个过程需要使用API工具进行调试,确保了系统集成的可行性。

qq_27246521的博客 822

获取当前时间的天、周、月、季度、半年度、年度开始和结束时间

package com.dada.test; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class TestDate { public static void main(String[] args) { System.out.println("当前

彻底拆分,一切可控! 5049

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

LocalDateTime获取天周月开始结束时间:右开区间实战

在Java开发中,日期时间的边界计算总是比想象中复杂,尤其是统计“今天”“本周”“本月”的数据时,稍有偏差就会导致线上查询结果不准确。从Java 8开始,LocalDateTime等新时间API以不可变、链式调用和语义清晰的设计,取代了传统Date/Calendar的繁琐与隐患。本文从时间边界的设计核心切入,讲解为何推荐使用右开区间[start, end)代替闭区间23:59:59,并深入演示如何利用TemporalAdjusters、WeekFields等工具精确获取天、周、月的开始时间与结束时间,同时覆

weixin_33841722的博客 420

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Java之size()>0 和isEmpt()性能考量

为何要写这篇呢?主要是要纠正一个长期以来的误区:size()>0 一定比isEmpt()性能差。 以下内容是社区里的结论: 方法一(数据量大,效率低): if(list!=null && list.size()>0){ } 方法二(数据量大,效率高): if(list!=null && !list.isEmpty()){ } sonar的规范是...

布道 2190

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Java中集合isEmpty 和 size()==0的区别

也就是说 ,Collection的实现不同 ,那么size()方法的时间复杂度也是不同的。

風易江堤,百里成冰 924

【代码审查】C#常见错误提醒二

Methods should not be empty不要写空方法,除非这种情况:An abstract class may have empty methods, in order to providedefault implementations for child classes. Source files should not have any duplicatedblocks 源文件中不...

Jackey·Now 1273

Java 集合之Collection

Java 集合之Collection 概念:对象的容器,定义了对多个对象进行操作的常用方法。类似数组功能 和数组的区别: 1 数组长度固定,集合长度不固定 2 数组可以存储基本类型和引用类型,集合只能存储引用类型 位置 : java.util.* [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WcM6UO29-1624500236887)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\image-20210

weixin_48281736的博客 599

Sonar Java默认扫描规则

规则如下: ".equals()" should not be used to test the values of "Atomic" classes:equals()方法不应该用在原子类型的数据上(如:AtomicInteger, AtomicLong, AtomicBoolean). "=+" should not be used instead of "+=":"=+"不可以替代 “+=”. "==" and "!=" should not be used when "equals" is ov

yiyijianxian的博客 9209

关于​‌CollectionUtils.isEmpty()方法用于判断一个集合是否为空。​

关于​‌CollectionUtils.isEmpty()方法用于判断一个集合是否为空。​

qq_55742775的博客 1751

Java集合中,isEmpty()与size()==0的区别

关于集合的处理,Java开发手册有这么一段话: 【强制】判断所有集合内部的元素是否为空,使用 isEmpty()方法,而不是 size()==0 的方式。 说明:在某些集合中,前者的时间复杂度为 O(1),而且可读性更好。 下面我们通过一些源码来看看 HashMap源码 /** * Returns the number of key-value mappings in this map. * * @return the number of key-value

程序员Forlan的博客 2999

java 8 获取时间日期 查询本周、本月、本季度、本年的第一天和最后一天

【代码】java 8 查询本周、本月、本季度、本年的最后一天。

Xmi2599的博客 6027

在进行集合判空时,isEmpty()与size()==0的区别

判断所有集合内部的元素是否为空,使用 isEmpty()方法,而不是 size()==0 的方式。 isEmpty不仅可以判断集合是否为null,在时间复杂度上也更优秀,isEmpty()方法时间复杂度都是O(1),size()方法时间复杂度不固定,最坏可能是O(N) 对于ArrayList、LinkedList,size()与isEmpty()的时间复杂度都是O(1) ...

zcx12ZCX的博客 1864

java日期处理年,半年,季度,月,周等

【代码】java日期处理年,半年,季度,月,周等。

world_the_begin的博客 1320

【java时间工具】Java获取当天、本周、本月、本季度、本年等 开始及结束时间

import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class MyDateUtil { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("当天24点时间:" +...

qq_37306041的博客 819
上一篇: flutter环境安装心得
下一篇: mave settings 默认配置(更新时间2022/11)
Trank-Lw
博客等级 码龄9年 103粉丝 96原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值