java 生日 计算_java根据生日计算当前年龄,精确到月
public static String getAgeDetail(String date){
//如果有空格
int index = date.indexOf(" ");
if (index != -1){
date = date.substring(0 , index);
}
String[] data = date.split("-");
Calendar birthday =new GregorianCalendar(Integer.valueOf(data[0]), Integer.valueOf(data[1]), Integer.valueOf(data[2]));
Calendar now = Calendar.getInstance();
int day = now.get(Calendar.DAY_OF_MONTH) - birthday.get(Calendar.DAY_OF_MONTH);
//月份从0开始计算,所以需要+1
int month = now.get(Calendar.MONTH) +1 - birthday.get(Calendar.MONTH);
int year = now.get(Calendar.YEAR) - birthday.get(Calendar.YEAR);
//按照减法原理,先day相减,不够向month借;然后month相减,不够向year借;最后year相减。
if (day <0) {
month -=1;
now.add(Calendar.MONTH, -1);//得到上一个月,用来得到上个月的天数。
day = day + now.getActualMaximum(Calendar.DAY_OF_MONTH);
}
if (month <0) {
month = (month +12) %12;
year--;
}
StringBuffer tag =new StringBuffer();
if (year >0) {
tag.append(year +".");
}
if (month >0) {
tag.append(month);
}
if (year ==0 && month ==0 && day ==0) {
tag.append("今日出生");
}
return String.valueOf(tag);
}
原文:https://www.cnblogs.com/xiao1993/p/11698550.html
java 生日 计算_java根据生日计算当前年龄,精确到月相关推荐
- java 整型_Java整型计算
整型计算 今天做LeetCode看到一道题,翻转整型,其中一行代码if ((newResult - tail) / 10 != result)表示超出范围就会有损失,有点不太明白,正好之前复习过原码, ...
- java对角线之和_java编程之计算矩阵对角线和(从命令窗输入数据)
/* *求10行.10列整型方阵对角线上元素之和 */ import java.util.Scanner; class linesum{ public static void main(String ...
- java 如何计算时间段_Java程序来计算两个时间段之间的时差
Java程序来计算两个时间段之间的时差 在此程序中,您将学习计算Java中两个时间段之间的时差. 示例:计算两个时间段之间的时差 public class Time { int seconds; in ...
- java特征向量计算_Java与Python计算特征向量的区别
在apachecommons math3中,EigenDecomposition接受非对称矩阵,但它使用RealVector和{}类返回结果.为了得到实际的复杂结果,您必须将适当的实际结果组合成复共轭 ...
- java长方形周长计算_Java练习 SDUT-3339_计算长方形的周长和面积(类和对象)
###计算长方形的周长和面积(类和对象) Time Limit: 1000 ms Memory Limit: 65536 KiB ####Problem Description 设计一个长方形类Rec ...
- java求长方体_Java练习 SDUT-3337_计算长方体、四棱锥的表面积和体积
###计算长方体.四棱锥的表面积和体积 Time Limit: 1000 ms Memory Limit: 65536 KiB ####Problem Description 计算如下立体图形的表面积 ...
- java时间差工具_Java 工具类 计算两个日期之间相差 天 小时 分钟 秒
java 日期做差 : 场景 判断过期 public static String dateDiff(String startTime, String endTime, String format) { ...
- java 中缀转后缀并计算_Java实现表达式计算(中缀转后缀)
定义: 中缀表达式:我们平时写的数学表达式一般为中缀表达式,如"5+2*(3*(3-1*2+1))",直接拿中缀表达式直接让计算机计算表达式的结果并不能做到. 后缀表达式:把中缀表 ...
- java 流计算_JAVA流式计算
JAVA流式计算 流的简单介绍 Java 8 中,引入了流(Stream)的概念,利用提供的Stream API,我们可以方便的操作集合数据,这种方式很类似于使用SQL对数据库的操作. 如何生成流 利 ...
最新文章
- asp.net MVC2 初探四
- spring cloud gateway中解决第一次请求失败的问题
- FD.io/VPP — VNF 应用场景
- Java 基础搞定了,还能学点什么?
- LoadRunner 测试Oracle数据库及Siebel性能
- 【DirectX12】4.用FBX_SDK读取网格数据
- SVN提交,提示“remains in conflict”错误
- Matlab库中过采样函数rcosflt参数及源代码详解(翻译)
- JAVA 【引用类型】和【对象类型】在【继承】中的异同
- mysql unix格式_将MySQL Unix-Timestamp格式转换为日期格式?
- NVIDIA NSight System工具安装和使用介绍(MacOS)
- python list转json对象,python 对象和json互相转换方法
- JavaScript 动态生成表格 及删除表格
- Windows下安装JanusGraph(踩坑记录)
- SwiftUI4 iOS16 新特性之 WeatherKit免费天气API使用教程(WWDC 2022教程含源码)
- python创意网络爬虫_Python网络爬虫(一)
- react-native0.66==windows环境搭建、demo测试
- Typora 一款非常简洁,非常适合程序员使用的markdown文档书写工具
- MATLAB程序设计与应用 2.4 MATLAB常用内部函数
- 用VC++5.0播放AVI文件的两种方法