Java GUI中的年份未显示正确的年份
每当我运行此代码时,我都会得到所有的结果,但在设置年份时,它会显示Java GUI中的年份未显示正确的年份,java,swing,date,Java,Swing,Date,每当我运行此代码时,我都会得到所有的结果,但在设置年份时,它会显示18-8-116,而它应该显示18-8-16或18-8-2016日期将日期的年份存储为1900年起的年份,因此是116(1900+116=2016) 自Java1.1以来,Date的大多数方法都被弃用。在Java1.8之前,最好使用Joda Time的Calendar或LocalDate。自Java 1.8以来,日期已被LocalDate、LocalTime、LocalDateTime及其时区对应项(即ZonedDateTime)
18-8-116
,而它应该显示18-8-16
或18-8-2016日期将日期的年份存储为1900年起的年份,因此是116(1900+116=2016)
自Java1.1以来,Date的大多数方法都被弃用。在Java1.8之前,最好使用Joda Time的Calendar或LocalDate。自Java 1.8以来,日期已被LocalDate、LocalTime、LocalDateTime及其时区对应项(即ZonedDateTime)取代
因此,您可能希望在这里使用LocalDate,即
public class Output extends javax.swing.JFrame {
public Output() {
initComponents();
setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("abc.jpg")));
setSize(400, 700);
setLocationRelativeTo(null );
setResizable(false);
setdate();
}
public void setdate(){
ActionListener obj = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
java.util.Date date = new Date();
Date.setText(date.getDate()+"-"+(1+date.getMonth())+
"-"+date.getYear()+" / "+date.getHours() + ":"
+ date.getMinutes()+ ":" +
date.getSeconds());
}
};
new javax.swing.Timer(1000,obj).start();
}
只有某些“中的方法不推荐使用”。哦,是的,这是真的。类Date不是不推荐的,但它的大多数方法都是这样。我已经纠正了这一点。虽然没有完全弃用,但类文档中提到的类取代了类日期。您使用的是一个麻烦的旧类,现在已被取代。而是打电话。别指望这门课会让人胆战心惊;2016年是应该的2016年。
LocalDate date = LocalDate.of(2016, Month.AUGUST, 18);