为什么它会在getDate()
,getMonth()
和getYear()
上显示警示线。这些方法用于获取当前日期,月份和年份,但我不知道为什么它会显示这些方法的攻击。</ p>
代码:
public class hello {
public static void main(String[] args) {
int days;
int month;
int year;
days = 24;
month = 10;
year = 1994;
System.out.println("Date of Birth: " + days + "/" + month + "/" + year);
Date d = new Date();
int t = d.getDate();
int x = d.getMonth() + 1;
int f = d.getYear() + 1900;
System.out.println("Current Date: " + t + "/" + x + "/" + f);
}
}
答案 0 :(得分:4)
像Eclipse这样的IDE如果被弃用就会对这些方法进行攻击,这意味着不建议使用这些方法,因为有更好的选择。请参阅Javadocs of getDate()
:
已过时。从JDK 1.1版开始,由
Calendar.get(Calendar.DAY_OF_MONTH)
替换。
使用Calendar
方法:
Calendar calendar = Calendar.getInstance();
int day = calendar.get(Calendar.DAY_OF_MONTH);
int month = calendar.get(Calendar.MONTH) + 1;
int year = calendar.get(Calendar.YEAR);
答案 1 :(得分:2)
这是因为他们被弃用了。如果在函数上方的信息中设置@deprecated,它将在大多数IDE中触发方法。
不推荐使用这些特定功能,因为较新的Calendar
是更好的选择。
答案 2 :(得分:0)
试试这个。
int days;
int month;
int year;
days=24;
month=10;
year=1994;
System.out.println("Date of Birth: "+days+ "/" +month+ "/" +year);
LocalDate dd = LocalDate.of(year, month, days);
System.out.println("Current Date: " + dd);
System.out.println("Month: " + dd.getMonth());
System.out.println("Day: " + dd.getDayOfMonth());
System.out.println("Year: " + dd.getYear());
//If you would add year
LocalDate newYear = dd.plusYears(10);
System.out.println("New Date: " + newYear);
这是输出:
出生日期:24/10/1994
当前日期:1994-10-24
月:10月
日:24
年份:1994年
新日期:2004-10-24