首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >有没有一种方法可以让Java8的持续时间达到一年,并考虑到闰年?

有没有一种方法可以让Java8的持续时间达到一年,并考虑到闰年?
EN

Stack Overflow用户
提问于 2015-04-27 15:03:22
回答 2查看 9.7K关注 0票数 36

我需要一年中的天数,并且我想使用Java8的新time api。

然而,我不能做Duration.ofDays(365),因为它没有考虑到闰年。因为java.time.temporal.UnsupportedTemporalTypeException: Unit must not have an estimated durationDuration.of(1, ChronoUnit.YEARS)不能飞行

我查看了Period,但它对于从几年到几天似乎没有什么用处。

我觉得我错过了什么?如果一年是闰年,我可以写一些东西来添加一天,但似乎我应该能够开箱即用。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-04-27 15:13:45

根据Getting Duration using the new dateTime API中的响应,您应该使用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Period p = Period.ofYears(1);

理解Duration (纳秒数<1天)和Period (变量>1天)之间的区别是很重要的。

例如,Duration不会考虑闰日、夏令时或闰秒,它的持续时间不到一天,最多只有几天。因此,如果您能够使用Period来代替它,这将会更好。

因为不同的年份有不同的天数,所以如果您想要计算一年中的天数,您需要指定您正在讨论的年份。

如果您想要特定年份的天数,可以使用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Year.of(year).length()

如果您想要一年后的日期,您可以使用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
LocalDate.now().plusYears(1)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
LocalDate.now().plus(Period.ofYears(1))

如果需要两个日期之间的天数,可以使用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ChronoUnit.DAYS.between(start, end)

因此,要计算到一年后的天数,您可以使用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
LocalDate today = LocalDate.now();
long days = ChronoUnit.DAYS.between(today, today.plusYears(1));

如果您想查看一年的会员资格是否仍然有效,您可以使用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Period membershipLength = Period.ofYears(1);
LocalDate membershipStart = ...;
LocalDate membershipEnd = membershipStart.plus(membershipLength);

LocalDate today = LocalDate.now();
boolean memberShipEnded = today.isAfter(membershipEnd);
boolean membershipValid = !membershipEnded;
票数 43
EN

Stack Overflow用户

发布于 2015-04-27 15:14:28

很明显,您不需要持续时间(=介于两个日期之间),而需要特定日期的年份长度。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
LocalDate dateLeap = LocalDate.of(2004, Month.MARCH, 1);
System.out.println("leap year of " + dateLeap
    + " has days: " + dateLeap.lengthOfYear());

闰年2004-03-01有天: 366

Java 8的日期和时间是惊人的完整。

如果您的意思是,在2004年1月5日到2005年1月5日= 366和2004年3月2日到2005年3月2日= 365

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
int lengthOfYear(LocalDate date) {
    return date.getMonthValue() <= 2
        ? date.lengthOfYear()               // Count Feb in this year
        : date.plusYears(1).lengthOfYear(); // Count Feb in next year
}

说明:基本上长度是365。但如果日期是>= 3月,则计算下一年的2月,否则计算今年的2月。

请注意,plusYears(1)不会在一天或一个月内更改。

此外,也不考虑2月29日的闰秒和小时/分钟。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29899299

复制
相关文章
腾讯如何捕获和分析游戏崩溃
2022年MTSC大会已于12月顺利召开,腾讯互娱测试专家、腾讯 WeTest CrashSight平台技术负责人管旭东为大家带来了干货分享《腾讯如何捕获和分析游戏崩溃》,以下为本次分享的干货内容。   1. 背景简介 崩溃捕获和分析不是一个新话题,自从有软件开始,崩溃就是最严重的问题之一,崩溃率也是评估一个软件质量的重要指标。解决崩溃问题是一个刚需。从PC时代到移动时代,已经有不少崩溃捕获和分析的工具,那么腾讯游戏建设的一套新的崩溃分析系统,到底解决了哪些新问题和新挑战呢? 总结来说有三点: 1.对游戏
WeTest质量开放平台团队
2022/12/15
1.1K0
腾讯如何捕获和分析游戏崩溃
如何监控app的崩溃
当我们的app上线到应用市场之后,它发生了什么崩溃其实我们是不知道的。今天我们介绍一个方法来监控和收集用户手机上的异常崩溃同时上报给我们自己。
PhoenixZheng
2018/08/07
1.4K0
Windbg分析程序崩溃实践
本故事纯属虚构。 初入职场的小木,负责维护一个博客系统,后端采用C++编写,部署在Windows服务器上。刚刚熟悉完产品的小木,接到了后台服务的报警,服务器后端偶尔会程序崩溃。刚开始小木还有点慌张,脑子里面浮现出各种问题,这个是程序的bug吗?茫茫的代码如何寻找问题?log能看到线索吗?当冷静下来后,小木忽然想起前几天看的两篇文章<<Windbg调试----Windbg入门>>和<<Windows程序Dump收集>>,还没动手过呢,正好练习练习。
河边一枝柳
2021/08/06
1.2K0
iOS 中各种奇怪的崩溃
注意,本文所有崩溃的原因都是同一个 EXC_BAD_ACCESS (code=1, address=0x11f645b98) image-20210423232626879 第一个堆栈:字典扩容 im
酷酷的哀殿
2021/04/26
1.7K1
iOS  中各种奇怪的崩溃
MySQL 崩溃恢复过程分析
本文我们一起来看看,MySQL 在崩溃恢复过程中都干了哪些事情,Redo 日志又是怎么大显身手的。
csch
2022/12/20
1.2K0
MySQL 崩溃恢复过程分析
02.Android崩溃Crash库之App崩溃分析
目录总结 01.抛出异常导致崩溃分析 02.RuntimeInit类分析 03.Looper停止App就退出吗 04.handleApplicationCrash 05.native_crash如何监控 06.ANR是如何监控的 07.回过头看addErrorToDropBox 前沿 上一篇整体介绍了crash崩溃库崩溃重启,崩溃记录记录,查看以及分享日志等功能。 项目地址:https://github.com/yangchong211/YCAndroidTool 欢迎star,哈哈哈 01.抛出异常导致崩
杨充
2020/09/07
3K0
Docker 中的 PostgreSQL 崩溃恢复记录
在 Docker 中运行的 PostgreSQL 数据库突然无法启动, 错误日志类似这样:
beginor
2020/12/18
1.8K0
KVC中setValuesForKeysWithDictionary 崩溃问题
KVC 是键值编码,一个非正式的 Protocol ,提供一种机制来间接访问对象属性,KVO 就是基于 KVC 实现的关键技术之一 在字典数组转模型数组时,使用这个setValuesForKeysWi
LeeCen
2018/10/11
9660
KVC中setValuesForKeysWithDictionary 崩溃问题
iOS如何获取崩溃日志
在日常测试iOS中会经常遇到App崩溃的情况,然后给研发提bug。如果就提bug就有一两句话描述,研发很难精准排查问题,所以作为测试人员需要提供崩溃日志或者崩溃堆栈辅助研发排查问题。
测试加
2022/12/05
3.3K0
iOS如何获取崩溃日志
使用windbg抓取崩溃文件和分析的过程
        在软件编程中,崩溃的场景比较常见的。且说微软技术再牛X,也是会出现崩溃的场景。网上有一段Win98当着比尔盖茨蓝屏的视频非常有意思。(转载请指明出于breaksoftware的csdn博客)         我们身边的很多软件都引入了dump生成和收集机制。但是一般情况下,它们都是生成minidump。因为minidump文件相对来说很小,方面我们收集上来进行分析。但是Minidump保存了很少的信息,在一些场景下,可能不能协助我们准确快速定位问题。
方亮
2019/01/16
2.4K0
内存不足导致 nginx 崩溃的原因分析
最近在 Centos7 上搭建 nginx 作为 web 服务器使用,但是使用过程中,nginx 总是莫名其妙的崩掉,使用命令 dmesg 检查错误信息如下:
sylan215
2020/03/02
3.3K0
如何方便的收集app崩溃日志
很多人可能没了解过这个东西可以干嘛用, 其实它的作用是可以传入一个 Handler来捕获那些没有被捕获的异常, 比如 app 层面的 crash。 下面提供了一段源码,可以用来捕获并把异常写入到文件中, 当然如果要上报的话也只需要把对应的字符串上报到统计系统就行。
PhoenixZheng
2018/08/07
6600
逆转时间,起死回生——程序报错崩溃后,如何倒回到崩溃的位置?
假设我们有一段程序,从 Redis 中读取数据,解析以后提取出里面的 name 字段:
青南
2020/06/18
7580
教你如何查看Pod崩溃前的日志
当pod处于crash状态的时候,容器不断重启,此时用kubelet logs可能出现一直捕捉不到日志
用户1107783
2023/09/11
1K0
教你如何查看Pod崩溃前的日志
PFMEA中的原因如何分析?
我们确定了失效模式,要能解决问题,还得找到原因才行,PFMEA中的原因如何分析呢?
用户9972271
2022/11/22
6760
为Xcode6添加Empty Application选项
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/48183735
用户1451823
2018/09/13
4170
为Xcode6添加Empty Application选项
记移动平台崩溃卡顿的收集分析分享
首先说一下项目背景,公司最近在做一个移动平台APP的开发,贴向于游戏方向,用户量也相对较大,加上项目中几个功能排期比较赶,导致开发中出来了不少问题,主要问题就是APP运行过程中的奔溃、卡顿、异常等问题。之前老的定位手段效率很低,有的问题需要定位一两天才能解决,确实影响了用户体验。后来在帖子上发现了几个平台专门处理此类问题,【感兴趣的可以看:https://blog.csdn.net/zhuobattle/article/details/50848745】,最后根据帖子中的好评选择了网易云捕,不得不说确实是一款牛逼的质量跟踪软件,分享给大家。
小勇DW3
2019/04/22
7610
让站长崩溃的骚操作,你中过招吗?
那些让站长们抓狂的瞬间! 许多站长在运营网站时都会遇到一个尴尬的问题:业务受到了黑客、黑产影响,却没有专人来维护网站的安全! 建站时前端页面干净漂亮,但后端没有设置检测过滤和检测SQL语句,被一个SQL注入导出了数据库中所有用户的数据... 莫名其妙服务器内存满了,原来是使用了"root"这样的用户名或弱口令,被爆破登录到服务器植入了挖矿程序,结果干扰了正常业务运行,发现时已经好几天没订单了... 网站上忽然被挂上“澳门XX”广告、恶意篡改了网页内容,原来是网站后台暴露在公网,又使用“1995081
腾讯云DNSPod团队
2022/09/06
1.3K0
让站长崩溃的骚操作,你中过招吗?
c++的queue在多线程下崩溃原因分析
我们知道c++的queue和map等数据结构是线程并发不安全的,为此我们常封装实现了线程安全的priority_queue,姑且叫做 thread_safe::priority_queue。(关于c++并发编程这块儿推荐经典书籍《C++并发编程实战》)。本以为封装后就可以放心在多线程中使用了,结果崩溃了,且还是偶发的。
杨永贞
2022/06/30
1.2K0
c++的queue在多线程下崩溃原因分析
国民级应用:微信是如何防止崩溃的?
导读 | 微信作为月活过10亿的国民级应用,经常面临特殊节点消息量暴增的问题,服务很容易出现过载。但微信的服务一直比较稳定,是如何做到的呢?本文邀请到了腾讯WXG后开开发工程师alexccdong
腾讯云开发者
2023/01/11
2.5K0
国民级应用:微信是如何防止崩溃的?

相似问题

如何在xcode6中导入崩溃报告?

24

多维数组使Xcode6崩溃

12

Xcode6: UITapGesture正在使用(lldb)崩溃

11

WinDbg中的崩溃分析

12

如何分析opera崩溃日志

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文