Java 在Android Studio中更改日期格式
我有API的数据,数据是格式为“2018-07-09”的日期。如何在android studio中将格式更改为2018年7月9日星期一 您可以解析字符串以对象,并使用以下格式对其进行格式化: 请参阅以了解更多信息Java 在Android Studio中更改日期格式,java,android,simpledateformat,Java,Android,Simpledateformat,我有API的数据,数据是格式为“2018-07-09”的日期。如何在android studio中将格式更改为2018年7月9日星期一 您可以解析字符串以对象,并使用以下格式对其进行格式化: 请参阅以了解更多信息 DateTimeFormatter dateFormatter = DateTimeFormatter .ofLocalizedDate(FormatStyle.FULL) .withLocale(Locale.US);
DateTimeFormatter dateFormatter = DateTimeFormatter
.ofLocalizedDate(FormatStyle.FULL)
.withLocale(Locale.US);
LocalDate date = LocalDate.parse("2018-07-09");
String formattedDate = date.format(dateFormatter);
System.out.println(formattedDate);
这张照片是:
2018年7月9日,星期一
信息:
- 从API获取的日期字符串为ISO 8601格式,
<现代java日期和时间API2018-07-09
中的code>LocalDate将此格式解析为默认格式,即不使用任何显式格式设置程序。所以不要费心去创造一个java.time
- 要向用户显示,请使用内置格式。您可以从Localizedxxx的
方法获得它们,并且可以根据用户的区域设置对它们进行调整,如上面的代码所示DateTimeFormatter.ofLocalizedxxx
- 您将问题标记为simpledateformat。
类早已过时,并且非常麻烦,因此请避免使用它<代码>java.time更适合使用SimpleDateFormat
java.time
在较旧和较新的Android设备上运行良好。它至少需要Java6
- 在Java8和更高版本以及更新的Android设备上(我听说是API级别26),现代API是内置的
- 在Java6和Java7中,获取三个后端口,即新类的后端口(三个用于JSR310;请参阅底部的链接)
- 在(较旧的)Android上使用Android版本的ThreeTen Backport。它叫ThreeTenABP。并确保从带有子包的
导入日期和时间类org.threeten.bp
- 解释如何使用
java.time
- ,其中首先描述了
java.time
- ,java.time的后端口到Java6和Java7(JSR-310为三十)
- ,Android版Three Ten Backport
- ,解释得非常透彻
SimpleDateFormat fromApi = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat myFormat = new SimpleDateFormat("EEEE, MMMM d, yyyy");
try {
String reformattedStr = myFormat.format(fromApi.parse(inputString));
} catch (ParseException e) {
e.printStackTrace();
}
DateTimeFormatter dateFormatter = DateTimeFormatter
.ofLocalizedDate(FormatStyle.FULL)
.withLocale(Locale.US);
LocalDate date = LocalDate.parse("2018-07-09");
String formattedDate = date.format(dateFormatter);
System.out.println(formattedDate);