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

解析“ YYYY-MM-dd HH:mm”时,SimpleDateFormat产生错误的日​​期时间

黄昊
2023-03-14
问题内容

我正在尝试将StringYYYY-MM-dd HH:mm)解析为Date,但是日期却超出预期。

码:

Date newDate = null;
String dateTime = "2013-03-18 08:30";
SimpleDateFormat df = new SimpleDateFormat("YYYY-MM-dd HH:mm", Locale.ENGLISH);
df.setLenient(false);
try {
    newDate = df.parse(dateTime);
} catch (ParseException e) {
    throw new InvalidInputException("Invalid date input.");
}

当我从上面的代码中将返回的日期输入数据库时​​,我正确地获取了日期,但是时间始终是00:00。

ps.setDate(3, new java.sql.Date(app.getDate().getTime()));

问题答案:

YYYY应该是yyyy

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm", Locale.ENGLISH);


 类似资料:
  • 问题内容: 如果能找到有关此异常的错误的帮助,我将不胜感激: 和以下代码: 它用引发异常。 ,作为例外。 谢谢。 问题答案: 代表时区字符。需要引用:

  • 问题内容: 我有这个代码: 而且我希望dateFormat.parse调用会引发ParseException,因为我提供的年份长5个字符,而不是像我定义的格式那样长4个字符。但是出于某种原因,即使将lenient设置为false,此调用也会返回Date对象10/20/20128。 这是为什么?这对我来说没有多大意义。还有其他设置可以使其更加严格吗? 问题答案: 20128是有效的一年,我想Java

  • 问题内容: 谁能告诉我这段代码有什么问题: 输出是: 当输入时间以毫秒为单位时,请注意以分钟为单位的差异。 问题答案: 对于,毫秒格式的值包含大写字符,而不是秒的小写字符。 秒(秒)55 毫秒数978 它解释为秒,并将这些秒(847秒是13分钟47秒)添加到您的值中。 使用毫秒。 顺便说一句,如果相同,则无需多次创建。您可以创建一次,将其保存到变量中,然后多次调用,对于您要解析的每个日期/时间字符

  • 问题内容: 当我在下面的代码下运行时,出现Unparseable错误。如何将dd MMM yyyy格式转换为dd / MM / yyyy格式? 问题答案: 假设您修复了明显的语法错误,则: 您要做的就是为您需要解析的格式创建一个解析器,并为您想要的格式创建一个格式化器:

  • 问题内容: 我有字符串格式的日期,我想将其解析为使用日期。 我将其解析为: 但是奇怪的是,如果我传递的是“ 03-08- 201309 hjhkjhk ”或“ 03- 88 -2013”​​或 43 -88-201378,它不会抛出错误,而是对其进行解析。 为此,我必须编写正则表达式模式以检查日期的输入是否正确。但是为什么会这样呢? 代码: 问题答案: 您应该使用: 我不确定是否可以捕获 到 您想

  • 问题内容: 我正在获取以下代码 如果我注释掉该行,那么我会在输出中看到时差 我究竟做错了什么?? 问题答案: “ S”为毫秒。每秒有1000毫秒(0到999)。389362大于999。多余的389000毫秒将转换为389秒或6分29秒,并添加到时间中。