PDA

View Full Version : سوال: مشکل با کلاس Date



spiderman200700
چهارشنبه 02 آذر 1390, 21:42 عصر
سلام به همه.
من این کد رو نوشتم.

package Main;

import java.util.Date;

public class da {

public static void main(String args[]) {
Date dt = new Date("1990/12/23");
System.out.println(dt.getYear() + "/" + dt.getMonth() + "/" + dt.getDate());
dt = new Date(1990, 12, 23);
System.out.println(dt.getYear() + "/" + dt.getMonth() + "/" + dt.getDate());
dt = new Date(1990, 11, 23);
System.out.println(dt.getYear() + "/" + dt.getMonth() + "/" + dt.getDate());
}
}


اما خروجی اشتباه زیر رو میگیرم.

run:
90/11/23
1991/0/23
1990/11/23
BUILD SUCCESSFUL (total time: 0 seconds)

در ضمن ، من از JDK 7 UPDATE1 استفاده میکنم.یادم نیست رو JDK 6 همچین مشکلی بود یا نه.
کسی میدونه مشکل چیه.
اگه میشه یکی کدهای منو تست کنه و نتیجه رو بگه لطفا.
ممنون از همه.

spiderman200700
جمعه 04 آذر 1390, 02:01 صبح
کسی نیست که به ما کمک کنه؟

hosein.zare
جمعه 04 آذر 1390, 22:06 عصر
دوست من ماه هایی که از تقویم خوانده می شود به جای ۱ از ۰ شروع می شود راه حل این است که شما به ازای گرفتن ماه فقط آن را بعلاوه یک کنید...
Date dt = new Date("1990/12/23");
System.out.println(dt.getYear() + "/" + ((int)dt.getMonth() + 1) + "/" + dt.getDate());
dt = new Date(1990, 12, 23);
System.out.println(dt.getYear() + "/" + ((int)dt.getMonth() + 1) + "/" + dt.getDate());
dt = new Date(1990, 11, 23);
System.out.println(dt.getYear() + "/" + ((int)dt.getMonth() + 1) + "/" + dt.getDate());


نکته ی دیگه ای که خیلی مهمه اینه که Contructor ها و متودهایی که با Date نوشتی همگی Deprecate شده اند به جای کد بالا از این استفاده کن:

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd");
try {
Date date = dateFormat.parse("1990/12/23");
Calendar cale = new GregorianCalendar();
cale.setTime(date);
System.out.println(cale.get(Calendar.YEAR) + "/" + ((int)cale.get(Calendar.MONTH) + 1) + "/" +
cale.get(Calendar.DAY_OF_MONTH));
} catch (ParseException e) {
System.err.println("Date Format must be in FULL YEAR/Month/DAY");
}

spiderman200700
شنبه 05 آذر 1390, 13:55 عصر
ممنون از شما دوست عزیز