[英]java.sql.Date not printing correct date
下面的代码打印出“3920-06-02”,但它应该是“2020-05-02”。 我做错了什么?
import java.sql.Date
// ...
public static void main(String[] args) {
Date May0220 = new Date(2020, 5, 2);
System.out.println(May0220.toString());
}
我想使用 java.sql 而不是 java.util。
好像 java.sql.Date; 使用从 1900 年开始的年份,并使用类似数组的月份索引,因此它比应有的值少了一个。
这就是我为得到你想要的结果所做的。
public static void main(String[] args)
{
Date May0220 = new Date(2020 - 1900, 5 - 1, 2);
System.out.println(May0220+"");
}
更一般的形式是
{
int year = 2020;
int month = 5;
Date date = new Date(year - 1900, month - 1, 2);
System.out.println(date+"");
}
祝你好运!
您可以使用此参考How to Get Current Date and Time in Java来获得您预期的输出。 我刚刚通过删除时间部分修改了示例中的代码。
库是java.time.format.DateTimeFormatter; 和java.time.LocalDateTime 。
import java.time.format.DateTimeFormatter;
import java.time.LocalDateTime;
public class PrintDateTime {
public static void main(String[] args) {
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDateTime now = LocalDateTime.now();
System.out.println(dtf.format(now));
}
}
希望你觉得它有用 !
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.