当前位置: 首页 > 面试题库 >

Java-SimpleDateFormat将12:19:00解析为00:19:00

梁渊
2023-03-14
问题内容

我正在尝试解析一个日期字符串,但是输出看起来不正确:以下是我的代码。

public static void main(String[] args){      
  Date startDate = new Date();      
  DateFormat formatter = new SimpleDateFormat("dd.MM.yyyy hh:mm:ss");

  try {
    startDate = (Date) formatter.parse("07.10.2012 12:19:24");
  } catch (ParseException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
  }

  System.out.println("Formatted Date " + startDate.toString());
}

程序输出:
格式化的日期太阳07年10月 00 :19:24 IST 2012

期望输出:
格式化的日期太阳07年10月 12个 :19:24 IST 2012


问题答案:

您可能要使用24h格式而不是12h格式…

H一天中的小时(0-23)数字0

h小时在上午/下午(1-12)12号

是的,格式化字符区分大小写。



 类似资料:
  • 我有一个具有值的日期对象:- 星期一9月12日19:48:19 IST 2022 //上面代码的输出Mon Sep 12 19:48:19 IST 2022 现在我想得到这个类似2022-09-12 00:00:00.0格式的输出

  • 我有一个日期对象具有值:-Mon Sep 12 19:48:19 IST 2022 //上述代码的输出Mon Sep 12 19:48:19 IST 2022 现在我想得到这个输出,如2022-09-12 00:00:00.0格式

  • 问题内容: 字段定义 二传手 有谁知道如何将“零日期”转换为适当的值?因为我有错误: 即使我像这样设置“默认”字段和设置器: 我仍然会有同样的问题。 问题答案: 在这里,我将大胆猜测您正在使用MySQL :-)它使用“零日期”作为特殊占位符 -不幸的是,JDBC默认情况下无法处理它们。 解决方案是将“ zeroDateTimeBehavior = convertToNull”指定为MySQL连接的

  • 问题内容: 字段定义 二传手 有谁知道如何将“零日期”转换为适当的值?因为我有错误: 即使我像这样设置“默认”字段和设置器: 我仍然会有同样的问题。 问题答案: 在这里,我将做出一个疯狂的猜测,即您正在使用MySQL :-)它使用“零日期”作为特殊的占位符 -不幸的是,默认情况下JDBC无法处理它们。 解决方案是将“ zeroDateTimeBehavior = convertToNull”指定为

  • 原因:java.time.format.DateTimeParseException:无法解析文本'Feb18 2015 12:00:00:000AM':发现冲突:字段AmPmOfDay 1与从12:00派生的AmPmOfDay 0不同 我错过了什么?Thx预付款

  • 问题内容: 我在用Java重置小时数时遇到问题。对于给定的日期,我要将小时设置为00:00:00。 这是我的代码: 问题是,有时时间是,有时是时间,当我查询数据库中保存的实体以及查询的实际实体时间(存储的实际时间)失败时。 我知道! 我正在使用AppEngine。这是Appengine错误,问题还是其他问题?还是取决于其他因素? 问题答案: 使用另一个常数代替,使用。 使用0-11(与AM / P