導航:首頁 > 編程語言 > java日期相減計算年齡

java日期相減計算年齡

發布時間:2023-08-15 21:07:20

java 輸入生日年齡 然後算出幾歲 最好能把具體代碼發過來

以下代碼是關於年齡計算的 其中不包含正則判斷部分,如果有什麼問題可以再交流
希望可以幫到你~

package api;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;
/**
* 業務需求輸入一個生日(字元串),
* 返回該生日到系統時間的時間間隔
* @author Administrator
*
*/
public class BirthDate {
public static void main(String[] args) throws ParseException {
//創建Scanner
Scanner scanner = new Scanner(System.in);
System.out.println("請輸入生日(格式為yyyy-MM-dd):");
String BirthDate = scanner.nextLine();
//將字元串轉換為Date類型
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = new Date();
date = sdf.parse(BirthDate);
//使用calendar進行計算
Calendar calendar = Calendar.getInstance();
//獲取當前時間毫秒值
long now = (new Date()).getTime();
long Birthdate = date.getTime();
long time = now-Birthdate;
int count=0;
//時間換算
long days = time/1000/60/60/24;
//判斷閏年
int birthYear = Integer.parseInt(( BirthDate.substring(0, 4)));
for(int i=calendar.get(Calendar.YEAR);i>=birthYear;i--)
if((i%4==0 && !(i%100==0)) ||
(i%400==0) ){
count++;
}
//加入閏年因素進行整理換算
int age = ((int)days-count)/365;
System.out.println("到目前為止,活了"+age+"歲");

}

}

Ⅱ 用java代碼通過出生時間和當前時間如何計算年齡

自己寫啊 很簡單的

類方法中帶2個參數

當前時間 減去 出生時間

Ⅲ 用java寫用戶在控制台按照「yyyy/mm/dd」的格式輸入出生日期,請計算用戶的年齡

年齡就是把當前的年份與用戶的年份相減得到一個對象值1。然後將用戶輸入日期中的年份換成當年的,組成一個新的日期,將這新的日期與當天的日期進行比較,得到另一個對象值2。這個對象值2就是距離用戶的生日的天數。這天數是正,那對象值1就是用戶的年齡,是負把對象值+1就好。參考兩日期之間的天數差方法:
public static int getDiffDay(String firstString, String secondString) {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Date firstDate = null;
Date secondDate = null;
try {
firstDate = df.parse(firstString);
secondDate = df.parse(secondString);
} catch (Exception e) {
// 日期型字元串格式錯誤
}
int nDay = (int) ((secondDate.getTime() - firstDate.getTime()) / (24 * 60 * 60 * 1000));
return nDay;
}

Ⅳ java計算年齡

import java.util.Calendar;
import java.util.Date;
import java.awt.*;
import java.awt.event.*;
import java.text.NumberFormat;

public class H {
public static void main(String args[]) {
new Time("年齡計算器");

}
}

class Time extends Frame implements ActionListener {
Calendar calendar;
Button button;
TextField t1, t2, t3;
Label l, l1, l2, l3;

Time(String s) {
super(s);
setLayout(new FlowLayout());
button = new Button("確定");
button.addActionListener(this);
t1 = new TextField(2);
t2 = new TextField(2);
t3 = new TextField(2);
l = new Label(" 請輸入您的生日 ");
l.setBackground(Color.cyan);
l1 = new Label("年");
l2 = new Label("月");
l3 = new Label("日");
add(l);
add(t1);
add(l1);
add(t2);
add(l2);
add(t3);
add(l3);
add(button);
setBounds(100, 100, 280, 100);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
setVisible(true);
validate();
}

public void actionPerformed(ActionEvent e) {
calendar = Calendar.getInstance();
calendar.setTime(new Date());
NumberFormat f = NumberFormat.getInstance();
long time = calendar.getTimeInMillis();
if (e.getSource() == button) {
try {
int n = Integer.parseInt(t1.getText());
int y = Integer.parseInt(t2.getText());
int r = Integer.parseInt(t3.getText());
calendar.set(n, y - 1, r);
double time1 = calendar.getTimeInMillis();
double c = (time - time1) / (1000 * 60 * 60 * 24);
double d = c/365;
f.setMaximumFractionDigits(2);
String s = f.format(d);
l.setText("您的年齡約為" + s + " 歲");
} catch (NumberFormatException ee) {
l.setText("請正確輸入");
}
}
}
}

功底淺薄,如果有問題,還望指教。

Ⅳ java如何計算日期的加減

第一種,知道日期,如2019091109144
String str=txnTime;
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");//格式化輸出日期
Date dt = null;
try {
dt = sdf.parse(str);
} catch (ParseException e) {
// TODO 自動生成的 catch 塊
e.printStackTrace();
}
Calendar rightNow = Calendar.getInstance();
rightNow.setTime(dt);
rightNow.add(Calendar.YEAR,-1);//日期減1年
rightNow.add(Calendar.MONTH,3);//日期加3個月
rightNow.add(Calendar.DAY_OF_YEAR,10);//日期加10天
rightNow.add(Calendar.SECOND,60);//日期加60秒天
Date dt1=rightNow.getTime();
String reStr = sdf.format(dt1);
System.out.println(reStr);
第二種,自己獲取時間,格式化輸出計算加減
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");//格式化輸出日期
Date now = new Date();
long time = 60*1000;//60秒
Date afterDate = new Date(now .getTime() + time);//60秒後的時間
Date beforeDate = new Date(now .getTime() - time);//60秒前的時間
System.out.println(sdf.format(afterDate ));

Ⅵ java 如何將日期年份相減

假設有兩個日期。第一個日期為:2012年9月13日2時3分4秒第二個日期為:2012年8月12日0時0分0秒求二者的時間差的代碼如下 import java.text.Simple

Ⅶ java實現兩個日期相減得到中間的年份和月份

沒有編譯環境,提供一下思路:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");

Calendar calendar = Calendar.getInstance();//日歷對象
calendar.setTime(date1);//設置起始日期
while(calendar.getTime() <= date2)
{
System.out.println(sdf.format(calendar.getTime()));
calendar.add(Calendar.MONTH, 1);//月份加一
}

閱讀全文

與java日期相減計算年齡相關的資料

熱點內容
日本蘋果66g多少錢 瀏覽:93
個性的文件夾名稱 瀏覽:697
怎麼設置文件打開密碼 瀏覽:811
手機版qq客服代碼怎麼用 瀏覽:24
fme可以打開哪些文件 瀏覽:339
好看的qq密碼 瀏覽:293
安卓唯一標識有哪些 瀏覽:243
win10ime 瀏覽:271
手機號大數據保護停機是什麼意思 瀏覽:81
兩個蘋果手機怎麼隔空投送app 瀏覽:903
ps修改有褶皺的文件 瀏覽:417
javadbfreader 瀏覽:307
蘋果手機數字代碼是什麼 瀏覽:66
驅動程序順序安裝腳本 瀏覽:665
word文件里怎樣查重 瀏覽:219
mx5系統基帶版本 瀏覽:184
ntlea全域通win10 瀏覽:171
qq怎麼查看別人的收藏 瀏覽:135
地震三參數matlab程序 瀏覽:57
怎樣給優盤文件加密軟體 瀏覽:7

友情鏈接