不推荐使用新的日期(年,月,日)

问题描述 投票:1回答:1

我有一个类A_Class,它的构造函数参数之一是Date类型,例如,当我尝试在我的主对象中初始化该类的对象时:

A_Class aClass = new A_Class( param1, param2, new Date(1995,01,04) );

IDE告诉我不建议使用Date这种格式。

没有另一种直接向构造函数传递新日期的方法,还是我总是必须像这样:

final SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd",Locale.US);
String dateInString1 = "1995-Jan-4";
Date dateInDate1 = formatter.parse(dateInString1);
A_Class aClass = new A_Class( param1, param2, dateInDate1 );
java date deprecated
1个回答
2
投票
错误的课程

您使用的是可怕的日期时间类,现在已经过时了。几年前由现代的[[java.time类代替。

LocalDate对于没有日期和时区的仅日期值,请使用LocalDate

LocalDate localDate = LocalDate.of( 1995 , 1 , 5 ) ;

生成标准ISO 8601格式YYYY-MM-DD的文本。

String output = localDate.toString() ;

将您的班级设计为容纳LocalDate而不是Date

public class Employee 
{
    private String givenName, surName ;
    LocalDate whenHired ;

    // Constructor
    public Employee( String givenName , String surName , LocalDate whenHired ) 
    {
        …
    }

}

示例用法。

Employee alice = new Employee( "Alice" , "Anderson" , LocalDate.of( 1995 , Month.JANUARY , 4 ) ) ;

正文字

新日期(1995,01,04)
除非以八进制(基数8)而不是十进制(基数10)表示,否则不要以零开头的文字整数。

© www.soinside.com 2019 - 2024. All rights reserved.