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

在Android中将datetime格式更改为Word

楚良平
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。

 类似资料:
  • 在本期续篇中 主代码: 然后我需要得到一个最接近给定日期的值列表: 然后弄一张这样的桌子: 但如何才能得到这种格式的结果: 我在此上下文中使用pivot的所有尝试都没有成功。 更新 根据@Gordon Linoff和@xxx的建议,尝试重做使用Dinamic SQL的代码,现在开始: ‘op为(选择op.id_object,op.id_param,name,op.cdate,op.value,RO

  • 在我的项目中,我使用HorizontalPicker第三方库来选择日期。然而,当我在文本视图中显示DateTime变量的值时,我很难改变它的格式。 我将如何格式化这是更容易为用户阅读的东西,如"10-5-2020" 代码:

  • 我希望我的日期时间总是保存为以下格式:yMMMd 即 2021 年 3 月 30 日 问题: 当我格式化我的日期时间时,它格式化为字符串。当我尝试将其解析回DateTime时,我收到错误并且没有成功。 我在寻找解决这个问题的好方法时遇到了问题。 这是可能的还是我必须满足于保存为字符串? 编辑 尝试了所有推荐的方法,也尝试了许多其他方法,但也不起作用。我想知道Intl包日期格式是否无法解析回Date

  • 我知道这是很常见的问题,但我想知道为什么当我试图将DateTime转换为单词时,它不起作用,所以我使用了这种格式 提供的格式 结果/转换为 这是我尝试过的,但它返回给我一个错误,需要帮助 样品