当前位置: 首页 > 知识库问答 >
问题:

在Android中更改日期时间格式为单词[重复]

荆弘伟
2023-03-14

我知道这是很常见的问题,但我想知道为什么当我试图将DateTime转换为单词时,它不起作用,所以我使用了这种格式

提供的格式

2022-05-18 22:30:00

结果/转换为

May 18, 2022 10:30 PM

这是我尝试过的,但它返回给我一个错误,需要帮助

java.lang.IllegalArgumentException: Cannot format given Object as a Date

样品

    String schedule = "2022-05-18 22:30:00";
    String outputPattern = "dd-MMM-yyyy h:mm a";
    
    SimpleDateFormat outputFormat = new SimpleDateFormat(outputPattern);
    String str = null;
    str = outputFormat.format(schedule);
    holder.aptDate.setText(str);

共有2个答案

陶涵育
2023-03-14

不能将字符串格式化为日期。首先将输入转换为日期,然后再转换为格式。例如:

String inputPattern = "dd-MMM-yyyy h:mm a";
SimpleDateFormat inputFormat = new SimpleDateFormat(inputPattern);
Date d = inputFormat.parse(schedule);

现在您可以将其格式化为您想要的任何模式。

str = outputFormat.format(d.getTime());

如果可能,请尝试为DateTime使用java.time,因为util.date已弃用。

唐骏祥
2023-03-14

您需要将输入字符串解析为日期类,然后将日期格式化为所需的格式。

public class Temp {

  public static void main(String[] args) throws Exception {
    String schedule = "2022-05-18 22:30:00";
    String outputPattern = "MMM dd, yyyy h:mm a";

    DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
    LocalDateTime dateTime = LocalDateTime.parse(schedule, inputFormatter);
    String output = DateTimeFormatter.ofPattern(outputPattern).format(dateTime);
    System.out.println(output);
  }
}

本例使用位于java中的LocalDateTime。时间包,其中包含现代java日期时间API。

 类似资料:
  • 我的数据帧有一个列(示例格式),默认情况下转换为Pandas数据类型“object”。 使用< code > df[' DOB ']= PD . to _ datetime(df[' DOB '])将此转换为日期格式,日期将转换为:< code>2016-01-26,其< code>dtype为:< code>datetime64[ns]。 现在,我想将此日期格式转换为< code>01/26/2

  • 我的输入值是'13/5/201412:00:00am',我需要将此格式更改为'2014-5-1300:00:00',但所有的datetime变量都是以dd-mm-yyyy格式返回的。我不想将日期转换为字符串,我希望将日期值存储在datetime属性中,并使用'yyyy-mm-dd'格式:

  • 问题内容: 我试图改变对象的格式,我试图以这种方式做到这一点: 但这对对象没有任何影响,仍然是旧格式,无法真正理解为什么会这样。 问题答案: 请尝试将两个概念区分开:您的数据和向用户呈现的数据(或用于其他目的的格式设置,例如包含在JSON中)。的保持值7可以表示为(格式化成)7,07,007或7,同时仍保持刚好相同的值而没有任何格式化信息- 外的格式化谎言。同样,a 具有一个时间点,它可以表示为(

  • 问题内容: DOB列样本值的格式- 默认情况下会转换为对象,如下所示 转换为日期格式 日期转换为 是 现在,我想将此日期格式转换为任何其他通用日期格式或。我该怎么做? 无论我尝试哪种方法,它总是以格式显示日期。 问题答案: 如果需要转换为其他格式,可以使用(但请注意,列的则为):