我知道这是很常见的问题,但我想知道为什么当我试图将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);
不能将字符串格式化为日期。首先将输入转换为日期,然后再转换为格式。例如:
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
已弃用。
您需要将输入字符串解析为日期类,然后将日期格式化为所需的格式。
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列样本值的格式- 默认情况下会转换为对象,如下所示 转换为日期格式 日期转换为 是 现在,我想将此日期格式转换为任何其他通用日期格式或。我该怎么做? 无论我尝试哪种方法,它总是以格式显示日期。 问题答案: 如果需要转换为其他格式,可以使用(但请注意,列的则为):