我需要一些支持。我希望将变量字符串转换为日期。变量日期的格式应为 dd-MM-yyyy。
import java.util.Date;
....
...
String a = "2022-05-12";
Date b; // should be dd-MM-yyyy
do some to format...
return b; // return b with format dd-MM-yyyy, remember this variable is type Date no String
我试图做一些事情,但获得的格式不是所需的格式。
tl;dr
LocalDate
.parse( "2022-05-12" )
.format(
DateTimeFormatter.ofPattern( "dd-MM-uuuu" )
)
12-05-2022
java.time
使用现代java.time类。永远不要使用可怕的Date
, Calendar
, SimpleDateFormat
类。
ISO 8601
您的输入符合ISO 8601 https://en.wikipedia.org/wiki/ISO_8601默认使用的标准格式java.time用于解析/生成文本的类。因此无需指定格式模式。
LocalDate
将仅日期输入解析为仅日期对象,LocalDate https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/LocalDate.html.
String input = "2022-05-12" ;
LocalDate ld = LocalDate.parse( input ) ;
要生成所需格式的文本,请指定格式化模式。
DateTimeFormatter f = DateTimeFormatter.ofPattern( "dd-MM-uuuu" ) ;
String output = ld.format( f ) ;
我建议学习使用自动本地化,而不是硬编码特定模式DateTimeFormatter.ofLocalizedDate https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/format/DateTimeFormatter.html#ofLocalizedDate(java.time.format.FormatStyle).
所有这些都已在 Stack Overflow 上多次介绍过。在发布之前一定要彻底搜索。搜索以了解更多信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)