Java 取日、月、年的整数并转换为日/月/年
我正在写一个方法来获取3个整数的DOB-日、月、年,并返回格式化版本DD/MM/YYYY 我目前正在使用dateFormatter和simple date格式。虽然当我运行此命令时,它默认为1970年1月1日,并且我无法更改日期 有什么建议吗 更新Java 取日、月、年的整数并转换为日/月/年,java,date,Java,Date,我正在写一个方法来获取3个整数的DOB-日、月、年,并返回格式化版本DD/MM/YYYY 我目前正在使用dateFormatter和simple date格式。虽然当我运行此命令时,它默认为1970年1月1日,并且我无法更改日期 有什么建议吗 更新 伙计们感谢下面的帖子,问题解决了 为什么要使用格式化程序?只要这样做: public String DateOfBirth(int day, int month, int year) { String DOB = day + "/"
伙计们感谢下面的帖子,问题解决了 为什么要使用格式化程序?只要这样做:
public String DateOfBirth(int day, int month, int year)
{
String DOB = day + "/" + month + "/" + year;
return DOB;
}
如果是作业,老师可能希望你不要使用格式化程序
另外,正如其他人提到的:如果您试图将整数连接为字符串,则需要在两者之间插入一些字符串。否则就是对整数的值求和。tl;博士
2017年1月23日
java.time
现代方法使用java.time类
避免使用旧的遗留日期时间类,例如日期
和日历
,因为它们设计糟糕、容易混淆、麻烦且有缺陷
LocalDate
LocalDate
表示一个仅限日期的值,该值不包含一天中的时间和时区。请注意,与遗留类不同,此处月份的编号为1-12,表示1月至12月
LocalDate ld = LocalDate.of( 2017 , 1 , 23 );
DateTimeFormatter
使用格式化程序对象生成表示该值的字符串
DateTimeFormatter f = DateTimeFormatter.ofPattern( "dd/MM/uuuu" );
String output = ld.format( f );
DateFormat用于格式化java.util.Date的实例。不是整数。顺便说一句,现在有办法找出一个数字的日、月和年的三部分之和。使用LocalDate:很高兴听到问题解决了。考虑投票和/或接受答案/ S。如果小于10,例如2017年2月4日,这将为您提供一位数的日期和月份。我把这个问题理解为要求两位数,比如2017年4月2日。如果您关于避免使用标准类的假设是正确的(我希望不是),那么可以使用
String.format()
。
DateTimeFormatter f = DateTimeFormatter.ofPattern( "dd/MM/uuuu" );
String output = ld.format( f );