‘壹’ 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"年出生);