【发布时间】:2018-11-14 17:05:54
【问题描述】:
我想以 yyyy-MM-dd 格式将日期值作为字符串,并以相同格式返回 jabva util 日期。 为此,我使用以下代码,但结果为“Wed Sep 18 00:00:00 CEST 2013”
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String strdate = "2013-09-18";
Date utilDate = sdf.parse(strdate);
System.out.println(utilDate);
我还需要考虑语言环境吗? 请帮助实现这一目标。 提前致谢
【问题讨论】:
-
sdf.parse(strdate)的结果只是一个字符串;将其分配给utilDate会将字符串解析为新的Date对象。任何时候都不会传输格式信息。 -
只需做
System.out.println(sdf.format(utilDate)); -
您可能需要考虑从 Java 8 切换到 LocalDate 和 DateFormatter 类。这是要走的路。 SimpleDateFormat 已过时
-
我建议你避免使用
SimpleDateFormat类。它不仅过时了,而且出了名的麻烦。今天我们在java.time, the modern Java date and time API 中做得更好。 -
@GauravRai1512 默认情况下,
LocalDate类中使用该标准 ISO 8601 格式。无需定义格式化模式,无需使用DateTimeFormatter。只需使用:LocalDate.parse( "2018-01-23" )
标签: java simpledateformat