繁体   English   中英

java.sql.Date 不打印正确的日期

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM