date日期相减 java_一个小小的Java程序
如下是一个Java程序实现了从键盘读入出生日期并计算从出生开始过去了多少天/多少周/多少月/多少日。
具体的全部解决思路以及代码。还有代码对应的相关解释已标注与代码中。
如果发现有所问题,还望斧正。
import java.text.*;import java.util.*;//键盘输入某人的出生日在期,计算从出生开始到现,经过了多少天?多少周?多少年?/* *设计思路: *1、String输入生日 *2、拆字符串,拆成年月日 *3、年和自动获取的年减 *4、重新合成Date类型的日期,获取毫秒 *5、自动获取当前日期的毫秒数和生日相减 *6、通过12减去出生月计算出生该年的剩余月,然后加上该年已经过去的月,加上(年纪-1)*12月 */public class T { public static void main(String[] arg){ //throws ParseException {向上一层抛出异常,方法声明中使用关键字上抛异常 String birthday;//定义一个字符类型的变量birthday用于储存输入的生日信息 int year = 0 ;//出生了多少年 long month = 0;//出生了多少月 long week = 0; //出生了多少周 long day = 0;//出生了多少天 long ms;//出生多少毫秒 Scanner scanner = new Scanner(System.in);//输入语句 System.out.println("请输入您的生日(格式为YYYY-MM-DD):"); birthday = scanner.nextLine();//读入日期(String类型) String s1[]=birthday.split("-");//按一定的条件拆分字符串,s1[0]年;s1[1]月;s1[2]日 int birthday_year=Integer.parseInt(s1[0]);//从字符串中读取出生年 Calendar cal = Calendar.getInstance();//创建一个Calendar 对象 int now_year = cal.get(Calendar.YEAR);//获取当前年份 year = now_year -birthday_year;//运算过了几年 Date birthday_date = new Date();//创建一个生日日期的对象 int birthday_month = Integer.parseInt(s1[1]); int now_month = cal.get(Calendar.MONTH);//自动获取当前月份 System.out.println(now_month); month = (12-birthday_month)+ ((year-1)*12)+(now_month+1);//计算经过了几个月(月份+1因为Java中月的从0开始计数) SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");//创建一个对象用于接下来转换的格式 try { birthday_date = sdf.parse(birthday);//将字符型的生日转化成日期型 } catch (ParseException e) {//收集可能存在的问题并输出 e.printStackTrace(); } //System.out.println("birthday:"+birthday_date);//输出生日 long birthday_time = birthday_date.getTime(); //System.out.println(birthday_time);//输出生日毫秒 Date date = new Date();//新建一个date对象 long today_time = date.getTime(); //System.out.println(today_time);//输出当前毫秒 ms =today_time - birthday_time;//计算差值毫秒 //System.out.println("差值毫秒"+ms);//差值毫秒 day = ms/1000/60/60/24;//计算差值天数 //System.out.println("您已存活:"+day+"天"); week = day/7;//计算差值周数 //System.out.println("您已存活:"+week+"周"); System.out.println("您已经存活"+day+"天,"+week+"周,"+month+"月,"+year+"年。"); }}
date日期相减 java_一个小小的Java程序相关推荐
- date日期相减 java_03时间日期类
Java8 在 java.time 包中增加了时间日期相关的API,弥补了 Java8 以前对日期.时间处理的不足. 在介绍Java8新的时间日期API前,先看看 java8 以前我们操作日期时间常用 ...
- 猫捉老鼠java_一个用java程序写的猫捉老鼠程序
匿名用户 1级 2009-01-03 回答 1: public interface Number { public int nextInt(); } 2: import java.util.Rando ...
- Java 计算两个日期相减并转换成月份
来自:https://www.shixinwl.com/article/132 Java 计算两个日期相减并转换成月份 在网上找了很多类似方法结果都是垃圾,于是乎记录下来给需要的人 import ja ...
- oracle日期相减工作日_Oracle 计算两个日期间隔的天数、月数和年数
在Oracle中计算两个日期间隔的天数.月数和年数: 一.天数: 在Oracle中,两个日期直接相减,便可以得到天数: select to_date('08/06/2015','mm/dd/yyyy' ...
- mysql时间相减得到天数保留两位_mysql 中两个日期相减获得 天 小时 分钟 或者 小时:分钟的格式...
/**有一个需求,要求获得两个日期想减的天数,小时数,分钟数.通过查找资料,于是乎我写出了如下代码,来获得两个字段.*/ IFNULL(CONCAT( IF(aib.`forecast_reply_t ...
- 日期相减计算年_函数 | Excel有个“秘密”函数,计算年龄工龄特方便
工作中经常会遇到涉及日期间隔的计算问题,比如计算两个日期之间的天数.月数.年数,这时需要用到Excel中一个秘密函数. 说到"秘密",是因为你在微软Excel提供的的函数列表里是找 ...
- android 日期相减得天数_Excel日期计算方法大全
关注回归线 Excel变简单 日期数据是Excel中很重要的一类数据,很多分析都依赖于日期的计算.但是,大多数Excel使用者都对日期计算的方法不太熟悉. 本文总结了日常工作中常见的日期计算场景和相 ...
- oracle日期相减工作日_oracle 日期相减 转载
转自 http://hi.baidu.com/juanjuan_66/blog/item/cf48554c9331fbe6d62afc6a.html oracle日期相减 2012-02-10 12: ...
- mysql时间相减得到天数保留两位_[转]Mysql日期函数-日期相减返回天数
MySQL datediff(date1,date2):两个日期相减 date1 - date2,返回天数. select datediff('2008-08-08', '2008-08-01'); ...
最新文章
- 我的LDAP使用手记(Fedora-ds) 备忘用
- C#3.0语法新特性集合
- Rabbit寻宝记(1)
- 缓存redis的实现思路
- 2020ICPC沈阳 - United in Stormwind(推公式+FWT+SOSdp)
- (SSO)单点登录原理和总结
- Magento Block设计分析(深入分析)
- 2020 年了,WPF 还有前途吗?
- 基于 Kubernetes 的 CICD 基础设施即代码
- ios pusher使用_如何使用JavaScript和Pusher实时更新用户状态
- 电信计算机知识考试,2020中国电信考试试题——专业知识一
- java properties $_Java读取Properties文件的六种方法
- Linux中b设备是什么,linux-将新设备添加到b??trfs卷中,但是可用...
- Ubuntu 16.04中iptables的工具简介(iptables/iptables-restore/iptables-xml/iptables-apply/iptables-save)...
- 如果计算机是中国人发明的,那编程代码很可能就应该这样写!
- [CCPC-Wannafly Comet OJ 夏季欢乐赛(2019)]飞行棋
- 学计算机专业选择设计为类需要艺考,想学设计必须参加艺考吗?设计学类专业,新高考选科怎么选?...
- SciPy库主要功能
- 手把手教你php调用短信接口(smsapi)实现发送短信验证码
- 【Arduino】基础传感器使用