『壹』 java出生日期應該用哪個類,年齡怎麼獲得
importjava.io.UnsupportedEncodingException;
importjava.text.ParseException;
importjava.text.SimpleDateFormat;
importjava.util.Calendar;
importjava.util.Date;
publicclassTests{
publicstaticvoidmain(String[]args){
SimpleDateFormatformat=newSimpleDateFormat("yyyy-MM-dd");
try{
Personperson=newPerson("Jack",0,format.parse("1990-01-01"));
Calendarcal=Calendar.getInstance();卜友並
longl=cal.getTimeInMillis();
longa=l-person.getBirthday().getTime();
longb=a/1000/60/60/24;//換算為天
System.out.println(b/365+"歲"型跡);
}catch(ParseExceptione){
e.printStackTrace();
}
}
}
classPerson{
privateStringname;
privateintsex;
privateDatebirthday;
publicPerson(Stringname,intsex,Datebirthday){
super();
this.name=name;
this.sex=sex;
this.birthday=birthday;
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicintgetSex(){
returnsex;
}
publicvoidsetSex(intsex)告汪{
this.sex=sex;
}
publicDategetBirthday(){
returnbirthday;
}
}
『貳』 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 輸入生日年齡 然後算出幾歲 最好能把具體代碼發過來
以下代碼是關於年齡計算的 其中不包含正則判斷部分,如果有什麼問題可以再交流
希望可以幫到你~
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寫用戶在控制台按照「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做 在輸入文本框里輸入出生年月,然後輸出年齡,怎麼做啊~!
用JLabel 或Label
我衫則清滑給你寫了個開頭
public class mainFrame extends JFrame{
JLabel jl = new JLabel("用戶名稱:");
JTextField jtf = new JTextField();
JPanel jp_group = new JPanel();
public loginFrame() {
try {
jbInit();common.mysession.dataTrf.getValue("main"或正棚);
} catch (Exception exception) {
exception.printStackTrace();
}
}
『陸』 java根據孩子生日,比如1979-05-13,怎麼轉換孩子年齡為幾歲幾月幾周,比如一歲10月兩周
publicclassTestDate{
/**
*獲取現在時間
*/
(){
DatecurrentTime=newDate();
SimpleDateFormatformatter=newSimpleDateFormat("yyyy-MM-dd");
StringdateString=formatter.format(currentTime);
returndateString;
}
/**
*兩個時間之間的天數
*/
publicstaticlonggetDays(Stringdate1,Stringdate2){
if(date1==null||date1.equals(""))
return0;
if(date2==null||date2.equals(""))
return0;
//轉換為標准時間
SimpleDateFormatmyFormatter=newSimpleDateFormat("yyyy-MM-dd");
java.util.Datedate=null;
java.util.Datemydate=null;
try{
date=myFormatter.parse(date1);
mydate=myFormatter.parse(date2);
}catch(Exceptione){
}
longday=(date.getTime()-mydate.getTime())/(24*60*60*1000);
returnMath.abs(day);
}
publicstaticvoidmain(String[]args){
longday=getDays("1979-04-13",getStringDate());
longyear=day/365;
longmonth=(day-365L*year)/30+1;
longweek=day/7+1;
System.out.println(year+"歲"+month+"月"+week+"周");
}
}
由於沒考慮閏年閏月,不是那麼准確,另外題目對於周的顯示上是指一個月的第幾周還是總共多少周?
樓下JAVA軟體工程師孫成 截取字元串的方法也很不錯,但在計算周有錯誤,不應該用%,改成Math.abs((stopz +30)- (startz+30))/7+1
『柒』 (用JAVA實現)請使用日期相關的api,控制台輸入出生日期,計算出一個人出生了多少年
這個問題主要涉及日期的解析及時間分量的計算。
思路前納:使用SimpleDateFormat將輸入的字元串表示的日期解析為Date,再將Data轉為Calendar,獲取日期分類年份,然後與當前年份做差運鋒迅算即可。
代碼如下:
代碼實銀悔此現
『捌』 用java求出身份證上的出生年月日,年齡以及戶口所在地,就是使用二維數組求的戶口出了問題。。
1、不論是一維數組還是二維數組,數組的下標都是以「0」開始的,不是從1開始。
2、變數聲明創建可以在類中操作,創建時可以賦初始值,但變數創建後,賦值須在方法中進行。
改成下面代碼:
class IDcard{
String year = new String();
String month = new String();
String day = new String();
String province, pro = new String();
int x, age;
String[][] a = new String[34][2];
IDcard(){
setArrayValues(a); //初始化數組值
System.out.println("請輸入身份證號碼");
Scanner sc = new Scanner(System.in);
String s = sc.next();
year = s.substring(6, 10);
month = s.substring(10, 12);
day = s.substring(12, 14);
System.out.println("出生日期");
System.out.println(year + "年" + month + "月" + day + "日");
x = Integer.parseInt(year);
age = 2013 - x;
System.out.println("年齡:" + age);
System.out.println("戶口地");
pro = s.substring(0, 2);
for (int i = 0; i < 34; i++) {
if (pro.equals(a[i][0])) { //數組中第一個元素下標從「0」開始
System.out.println(a[i][1]); //取第二個元素
break;
}
}
}
/**
* 初始化數組值
* @param a
*/ private void setArrayValues(String[][] a) {
a[0][0] = "11"; a[0][1] = "北京"; //數組中第一個元素下標從「0」開始
a[1][0] = "82"; a[1][1] = "澳門";
a[2][0] = "12"; a[2][1] = "天津";
a[3][0] = "13"; a[3][1] = "河北";
a[4][0] = "14"; a[4][1] = "山西";
a[5][0] = "15"; a[5][1] = "內蒙古";
a[6][0] = "21"; a[6][1] = "遼寧";
a[7][0] = "22"; a[7][1] = "吉林";
a[8][0] = "23"; a[8][1] = "黑龍江";
a[9][0] = "31"; a[9][1] = "上海";
a[10][0] = "32"; a[10][1] = "江蘇";
a[11][0] = "33"; a[11][1] = "浙江";
a[12][0] = "34"; a[12][1] = "安徽";
a[13][0] = "35"; a[13][1] = "福建";
a[14][0] = "36"; a[14][1] = "江西";
a[15][0] = "37"; a[15][1] = "山東";
a[16][0] = "41"; a[16][1] = "河南";
a[17][0] = "42"; a[17][1] = "湖北";
a[18][0] = "43"; a[18][1] = "湖南";
a[19][0] = "44"; a[19][1] = "廣東";
a[20][0] = "45"; a[20][1] = "廣西";
a[21][0] = "46"; a[21][1] = "海南";
a[22][0] = "50"; a[22][1] = "重慶";
a[23][0] = "51"; a[23][1] = "四川";
a[24][0] = "52"; a[24][1] = "貴州";
a[25][0] = "53"; a[25][1] = "雲南";
a[26][0] = "54"; a[26][1] = "西藏";
a[27][0] = "61"; a[27][1] = "陝西";
a[28][0] = "62"; a[28][1] = "甘肅";
a[29][0] = "63"; a[29][1] = "青海";
a[30][0] = "64"; a[30][1] = "寧夏";
a[31][0] = "65"; a[31][1] = "新疆";
a[32][0] = "71"; a[32][1] = "台灣";
a[33][0] = "81"; a[33][1] = "香港";
}
}
『玖』 java ee 中輸入一個人的生日,怎麼算出他如今多少歲
importjava.text.ParseException;
importjava.text.SimpleDateFormat;
importjava.util.Calendar;
importjava.util.Date;
importjava.util.Scanner;
publicclassGetAge{
publicstaticvoidmain(String[]args)throwsParseException{
System.out.println("輸入出生年月日如:2015-2-20");
Scanners=newScanner(System.in);
Stringinput=s.next();
SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-DD");
Datebirthday=sdf.parse(input);
DatenowDate=newDate();
Calendarc1=Calendar.getInstance();
Calendarc2=Calendar.getInstance();
c1.setTime(nowDate);
c2.setTime(birthday);
intage=c1.get(Calendar.YEAR)-c2.get(Calendar.YEAR);
System.out.println(age);
}
}
『拾』 在java中,根據年齡,計算出生年份。比如:23歲,1990年出生
這個得用Calendar類
首先獲取現在的日期 Calendar mycalendar=Calendar.getInstance();//獲取現在時間
String 年=String.valueOf(mycalendar.get(Calendar.YEAR));//獲取年份
// 用文本框輸入年齡
int age=text1.getText().parseInt();
int birth=年.parseInt()-age;
System.out.println("birth"年出生);