Java 在Android Studio中更改日期格式

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);

我有API的数据,数据是格式为“2018-07-09”的日期。如何在android studio中将格式更改为2018年7月9日星期一

您可以解析字符串以对象,并使用以下格式对其进行格式化:

请参阅以了解更多信息

    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格式,
    2018-07-09
    <现代java日期和时间API
    java.time
    中的code>LocalDate将此格式解析为默认格式,即不使用任何显式格式设置程序。所以不要费心去创造一个
  • 要向用户显示,请使用内置格式。您可以从Localizedxxx的
    DateTimeFormatter.ofLocalizedxxx
    方法获得它们,并且可以根据用户的区域设置对它们进行调整,如上面的代码所示
  • 您将问题标记为simpledateformat。
    SimpleDateFormat
    类早已过时,并且非常麻烦,因此请避免使用它<代码>java.time更适合使用
问题:我可以在Android上使用java.time吗? 是的,
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
  • ,解释得非常透彻

“.在android studio中?”与在任何处理android代码的IDE中执行此操作的方式相同。为它编写代码。(即IDE不相关。)请在询问之前搜索。在这种情况下,找出前100个类似的问题应该不会太难。类似的,例如:。可能重复的
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);