如何使用 java 中的 dd-mm-yyyy 格式将字符串格式化为日期
how to format String to Date with format dd-mm-yyyy in java
我需要一些支持。我希望将变量字符串转换为日期。变量日期应为 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
我正在尝试做一些事情,但获得的格式不是我想要的格式。
您正在做的是将字符串转换为日期。您似乎希望它以特定格式打印日期。
哪里有如何操作的示例:
DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Date date = new Date();
System.out.println(dateFormat.format(date)); //2022/05/18 00:18:43
tl;博士
LocalDate
.parse( "2022-05-12" )
.format(
DateTimeFormatter.ofPattern( "dd-MM-uuuu" )
)
12-05-2022
java.time
使用现代java.time类。永远不要使用可怕的 Date
, Calendar
, SimpleDateFormat
类.
ISO 8601
您的输入符合 java.time 类 对 parsing/generating 文本默认使用的 ISO 8601 标准格式。因此无需指定格式模式。
LocalDate
将您的 date-only 输入解析为 date-only 对象,LocalDate
。
String input = "2022-05-12" ;
LocalDate ld = LocalDate.parse( input ) ;
要生成所需格式的文本,请指定格式模式。
DateTimeFormatter f = DateTimeFormatter.ofPattern( "dd-MM-uuuu" ) ;
String output = ld.format( f ) ;
我建议学习使用 DateTimeFormatter.ofLocalizedDate
.
自动本地化,而不是对特定模式进行硬编码
所有这些都已经在 Stack Overflow 上多次讨论过。发帖前一定要彻底搜索。搜索以了解更多信息。
我需要一些支持。我希望将变量字符串转换为日期。变量日期应为 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
我正在尝试做一些事情,但获得的格式不是我想要的格式。
您正在做的是将字符串转换为日期。您似乎希望它以特定格式打印日期。
哪里有如何操作的示例:
DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Date date = new Date();
System.out.println(dateFormat.format(date)); //2022/05/18 00:18:43
tl;博士
LocalDate
.parse( "2022-05-12" )
.format(
DateTimeFormatter.ofPattern( "dd-MM-uuuu" )
)
12-05-2022
java.time
使用现代java.time类。永远不要使用可怕的 Date
, Calendar
, SimpleDateFormat
类.
ISO 8601
您的输入符合 java.time 类 对 parsing/generating 文本默认使用的 ISO 8601 标准格式。因此无需指定格式模式。
LocalDate
将您的 date-only 输入解析为 date-only 对象,LocalDate
。
String input = "2022-05-12" ;
LocalDate ld = LocalDate.parse( input ) ;
要生成所需格式的文本,请指定格式模式。
DateTimeFormatter f = DateTimeFormatter.ofPattern( "dd-MM-uuuu" ) ;
String output = ld.format( f ) ;
我建议学习使用 DateTimeFormatter.ofLocalizedDate
.
所有这些都已经在 Stack Overflow 上多次讨论过。发帖前一定要彻底搜索。搜索以了解更多信息。