当前位置: 首页 > news >正文

java8时间类的一些封装

1、判断平年和闰年

  1. (prolepticYear & 3) == 0 这个条件使用了位运算,与上3在二进制计算下即为:& 00…011。目的是保留最后2位二进制数,然后判断是否最后两位二进制数等于0。其目的是判断prolepticYear是否是4的倍数(第3位开始的二进制数代表的十进制数为4、4 * 2、4 * 2 * 2·······),闰年一定要满足是4的倍数的条件;
  2. (prolepticYear % 100) != 0 || (prolepticYear % 400) == 0 这个条件即为判断是否是整百数或是否是400的倍数。
 @Override
    public boolean isLeapYear(long prolepticYear) {
        return ((prolepticYear & 3) == 0) && ((prolepticYear % 100) != 0 || (prolepticYear % 400) == 0);
    }

2、获取每个月的天数

  public int length(boolean leapYear) {
        switch (this) {
            case FEBRUARY:
                return (leapYear ? 29 : 28);
            case APRIL:
            case JUNE:
            case SEPTEMBER:
            case NOVEMBER:
                return 30;
            default:
                return 31;
        }
    }

  

 

转载于:https://www.cnblogs.com/JAYIT/p/10690809.html

相关文章:

  • 3.appium环境搭建(原理)
  • 69期-Java SE-025-动态代理
  • JavaScript数值处理 + 小花样
  • SQLMap使用总结
  • Redis 学习笔记(篇五):对象(RedisObject)
  • Codevs 3981 动态最大子段和
  • A 小石的签到题
  • 又是问题~~~
  • Sql: 請假跨月份問題,或跨年份問題 日期部分边界
  • OpenFlow通信流程解读
  • React 入门与实战-课时7 虚拟DOM的本质和目的
  • sort函数和next_permutation()函数的用法。
  • 舵机控制原理
  • BZOJ1123 BLO
  • Mac下的PHP的配置与运行
  • 【vuex入门系列02】mutation接收单个参数和多个参数
  • 2019.2.20 c++ 知识梳理
  • create-react-app做的留言板
  • Cumulo 的 ClojureScript 模块已经成型
  • ES学习笔记(12)--Symbol
  • flask接收请求并推入栈
  • JavaScript对象详解
  • Laravel 实践之路: 数据库迁移与数据填充
  • SpringBoot 实战 (三) | 配置文件详解
  • tab.js分享及浏览器兼容性问题汇总
  • 第13期 DApp 榜单 :来,吃我这波安利
  • 工作踩坑系列——https访问遇到“已阻止载入混合活动内容”
  • 机器人定位导航技术 激光SLAM与视觉SLAM谁更胜一筹?
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 巧用 TypeScript (一)
  • 小程序01:wepy框架整合iview webapp UI
  • 在Docker Swarm上部署Apache Storm:第1部分
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • ​iOS安全加固方法及实现
  • ​LeetCode解法汇总1276. 不浪费原料的汉堡制作方案
  • ​VRRP 虚拟路由冗余协议(华为)
  • (0)Nginx 功能特性
  • (LNMP) How To Install Linux, nginx, MySQL, PHP
  • (仿QQ聊天消息列表加载)wp7 listbox 列表项逐一加载的一种实现方式,以及加入渐显动画...
  • (附源码)ssm高校实验室 毕业设计 800008
  • (学习日记)2024.04.10:UCOSIII第三十八节:事件实验
  • (一)Spring Cloud 直击微服务作用、架构应用、hystrix降级
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • (转)nsfocus-绿盟科技笔试题目
  • .NET 6 Mysql Canal (CDC 增量同步,捕获变更数据) 案例版
  • .NET DevOps 接入指南 | 1. GitLab 安装
  • .NET Project Open Day(2011.11.13)
  • .NET 实现 NTFS 文件系统的硬链接 mklink /J(Junction)
  • .net 托管代码与非托管代码
  • .NET面试题解析(11)-SQL语言基础及数据库基本原理
  • @RequestMapping处理请求异常
  • @拔赤:Web前端开发十日谈
  • [@Controller]4 详解@ModelAttribute
  • [<MySQL优化总结>]
  • [52PJ] Java面向对象笔记(转自52 1510988116)