2010-11-11 127 views
0

我想将此代码从JavaScript更改为Java servlet。任何人都可以指导我找到解决方案吗?将JavaScript函数转换为Java

var dob1 = document.getElementById(id).value; 
var today = new Date(), 
dob = new Date(dob1), 
age = new Date(today - dob).getFullYear() - 1970; 
+0

也许你的意思是Javascript?重新标记。 – 2010-11-11 14:39:07

+0

是不是JavaScript而不是HTML ......或者简单地用你提供的代码编写哪种语言?看看JS/Java的混合 – 2010-11-11 14:39:32

+0

不,我想在java servlet中使用这个函数。所以我想为这个 – yopirates 2010-11-11 14:40:01

回答

3

使用Calendar API。

String dobString = "1978-03-26"; 
Date dobDate = new SimpleDateFormat("yyyy-MM-dd").parse(dobString); 

Calendar dobCalendar = Calendar.getInstance(); 
dobCalendar.setTime(dobDate); 
Calendar today = Calendar.getInstance(); 
int age = -1; 

while (today.after(dobCalendar)) { 
    age++; 
    today.add(Calendar.YEAR, -1); 
} 

System.out.println(age); // 32 

由于Calendar API是太可怕了,我建议JodaTime代替。

String dobString = "1978-03-26"; 
DateTime dobDate = DateTimeFormat.forPattern("yyyy-MM-dd").parseDateTime(dobString); 
DateTime today = new DateTime(); 
int age = Years.yearsBetween(dobDate, today).getYears(); 
System.out.println(age); // 32 
+0

我使用datepicker和日期格式this.I已经在jsp代码中实现了这一点,我想在servlet – yopirates 2010-11-11 14:50:04

+0

OK中实现相同的代码。什么阻止你这样做? (注意JSP!= JavaScript) – BalusC 2010-11-11 14:51:21

+0

是的,我知道这一点。让我给你我的jsp代码和servlet代码。 – yopirates 2010-11-11 14:54:25