取日,月,年的int并转换为DD / MM / YYYY

时间:2017-04-01 13:13:22

标签: java date

我正在编写一个方法来获取3个整数的DOB - 日,月,年并返回格式化版本DD / MM / YYYY。

我目前正在使用dateFormatter和简单的日期格式。虽然当我运行它时默认为01/01/1970并且我无法更改日期。

有什么建议吗?

更新

伙计们感谢以下帖子,问题解决了!

2 个答案:

答案 0 :(得分:1)

为什么要使用formatter?这样做:

   public String DateOfBirth(int day, int month, int year) 
{
    String DOB = day + "/" + month + "/" + year;

    return DOB;
}

如果是作业,老师可能会要求你不要使用格式化程序。

此外,正如其他人提到的:如果您尝试将整数连接为字符串,则需要在它们之间使用一些字符串。否则,您将对整数的值求和。

答案 1 :(得分:1)

TL;博士

LocalDate.of( 2017 , 1 , 23 )
         .format( DateTimeFormatter.ofPattern( "dd/MM/uuuu" ) )
  

23/01/2017

java.time

现代方法使用java.time类。

避免使用旧的旧版日期时间类,例如DateCalendar,因为它们设计不当,令人困惑,麻烦且有缺陷。

LocalDate

LocalDate表示没有时间且没有时区的仅限日期的值。请注意,与传统课程不同,这里的月份在1月至12月期间的编号为1-12。

LocalDate ld = LocalDate.of( 2017 , 1 , 23 );

DateTimeFormatter

使用格式化程序对象生成表示该值的String。

DateTimeFormatter f = DateTimeFormatter.ofPattern( "dd/MM/uuuu" );

String output = ld.format( f );