在java java.util.Date 已知逝去时间怎么求年月日 数学计算不用其他方法

在Java中,使用java.util.Date类已知逝去时间求年月日的方法如下:

  1. 首先,获取当前时间和逝去时间之间的毫秒数差值,可以使用Date类的getTime()方法获得时间戳。

  2. 将毫秒数转换为秒数,并计算出总共的天数。

  3. 根据总共的天数计算出年数和月数。由于每个月的天数不同,所以需要先计算出每个月的天数,然后逐个累加直到总天数减为0。

  4. 最后,计算出剩余的天数即可。

下面是示例代码实现:

import java.util.Date;public class DateUtil {public static void main(String[] args) {Date startDate = new Date(1585382400000L);  // 假设逝去时间为2020年3月28日Date endDate = new Date();  // 获取当前时间long diff = endDate.getTime() - startDate.getTime();  // 毫秒数差值long totalDays = diff / 1000 / 60 / 60 / 24;  // 总共的天数int year = 0, month = 0, days = 0;int[] daysOfMonth = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};  // 每个月的天数(非闰年)year = (int) (totalDays / 365);  // 计算年数totalDays -= year * 365;// 计算月数和剩余天数for (int i = 0; i < 12; i++) {days = daysOfMonth[i];if (i == 1 && (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)) {  // 闰年2月29天days = 29;}if (totalDays < days) {month = i + 1;break;}totalDays -= days;}System.out.println(year + "年" + month + "月" + totalDays + "天");}
}

该程序输出结果为:0年1月9天,表示逝去时间为2020年3月28日,距离当前时间9天。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/234046.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

消除笔怎么用?手把手教你一键智能消除杂物

消除笔怎么用&#xff1f;消除笔是一种非常实用的工具&#xff0c;可以帮助我们快速修复图片中的小问题。无论是想要消除照片中的路人还是进行一些修改&#xff0c;消除笔都可以轻松地帮助我们实现。 以下是使用消除笔的步骤&#xff1a; 1、打开水印云软件&#xff0c;并在工具…

ProgrammingError: nan can not be used with MySQL

该错误怎么发生的&#xff1f; 我们先在本地创建测试表&#xff1a; CREATE TABLE users_test (id int NOT NULL AUTO_INCREMENT COMMENT 主键,trade_account varchar(50) DEFAULT NULL COMMENT 交易账号,username varchar(50) DEFAULT NULL,email varchar(100) DEFAULT NULL…

大数据HCIE成神之路之数学(4)——最优化实验

最优化实验 1.1 最小二乘法实现1.1.1 算法介绍1.1.2 代码实现1.2 梯度下降法实现1.2.1 算法介绍1.2.2 代码实现1.3 拉格朗日乘子法1.3.1 实验1.3.2 实验操作步骤1.1 最小二乘法实现 1.1.1 算法介绍 最小二乘法(Least Square Method),做为分类回归算法的基础,有着悠久的历…

【UE】简单的警觉系统

效果 步骤 1. 新建一个空白工程&#xff0c;添加第三人称游戏内容包 2. 打开第三人称角色蓝图“BP_ThirdPersonCharacter” 选中弹簧臂组件&#xff0c;将目标臂长度设置为600&#xff0c;z轴方向的插槽偏移设置为100 3. 将“BP_ThirdPersonCharacter”移入场景&#xff0c;该…

Glove学习笔记

global vectors for word representation B站学习视频 1、LSA与word2vec 我们用我们的见解&#xff0c;构建一个新的模型&#xff0c;Glove&#xff0c;全局向量的词表示&#xff0c;因为这个模型捕捉到全局预料的统计信息。 LSA:全局矩阵分解word2vec&#xff1a;局部上下文…

Flat Ads将携6亿独家流量亮相白鲸GTC2023,在7V01展台等你

一年一度的白鲸出海全球流量大会GTC重磅来袭!今年GTC出海展区全面升级,规模扩增至15000平方米,覆盖游戏、应用、技术及品牌出海等热门行业,预计将迎来累计超30000名跨境出海相关从业者莅临参观。 Flat Ads受邀设展,现场互动100%中奖 从出海到全球化,中国互联网企业走向海外寻…

深度学习大数据物流平台 python 计算机竞赛

文章目录 0 前言1 课题背景2 物流大数据平台的架构与设计3 智能车货匹配推荐算法的实现**1\. 问题陈述****2\. 算法模型**3\. 模型构建总览 **4 司机标签体系的搭建及算法****1\. 冷启动**2\. LSTM多标签模型算法 5 货运价格预测6 总结7 部分核心代码8 最后 0 前言 &#x1f5…

[个人笔记] Zabbix实现Webhook推送markdown文本

系统工程 - 运维篇 第四章 Zabbix实现Webhook推送markdown文本 系统工程 - 运维篇系列文章回顾Zabbix实现Webhook推送markdown文本前言实施步骤 Zabbix新增报警媒介类型Zabbix给用户新增报警媒介Zabbix修改动作的执行操作和恢复操作验证&测试 参考来源 系列文章回顾 第一章…

就是说,还有行政人不知道这个神器吗

救命&#xff0c;还有行政人不知道它的吗&#xff1f;&#xff1f;再不用真的亏大了啊&#xff01;&#xff01;用它写东西再也不用愁了 这东西写啥都可以&#xff0c;只有输入需求马上就写好了啊&#xff0c;什么工作总结&#xff0c;活动策划方案&#xff0c;会议纪要啥啥都…

Vue3生命周期函数(简述题)

1.图示 2.说明 3.补充 1.在vue3组合式API中&#xff0c;我们需要将生命周期函数先导入&#xff0c;然后才能使用。 import {onMounted} from vue2.beforeCreate和created被setup()方法所代替

“逆风飞翔·事实孤儿同行计划”成长陪伴主题区域陪伴培训会

为推进各机构更好地开展事实孤儿成长陪伴工作&#xff0c;促进事实孤儿成长陪伴实施成效&#xff0c;搭建各机构间事实孤儿成长陪伴方式方法交流平台。11月26日&#xff0c;在中国乡村发展基金会、中国民生银行的支持下&#xff0c;由湖南省大爱无疆青少年公益发展中心主办&…

小程序:让你轻松解决生活琐事!

随着科技的发展&#xff0c;小程序已经逐渐深入人们的生活&#xff0c;无论是去水印等功能类的小工具、打发时间的休闲小游戏类的小程序&#xff0c;还是提供视频和音乐的服务类的小程序等等&#xff0c;都在我们的生活之中占据了一席之地。 为什么越来越多的人选择了小程序呢…