gpt4 book ai didi

java - 当我将具有 "HH"模式的日期字符串传递给 SimpleDateFormat 时,为什么会返回日期?

转载 作者:行者123 更新时间:2023-11-30 03:36:00 28 4
gpt4 key购买 nike

这是我的代码:

try {
DateFormat dateFormat = new SimpleDateFormat(pattern);
dateFormat.setLenient(false);
Date date = dateFormat.parse(value);
if (date != null) {
return true;
}
} catch (ParseException e) {}

1.) 当我将值传递为“01/07/2015”并将模式传递为“HH:mm”时,我正确地得到了异常。

2.) 但是,当我将值传递为“01/07/2015”并将模式传递为“HH”时,我得到一个“Thu Jan 01 01:00:00 EST 1970”日期对象。

除了场景 #2 之外,我还会抛出异常,因为给定的字符串完全与给定的模式不匹配。为什么即使设置了 setLenient(false),我也会得到那个奇怪的日期?

最佳答案

http://download.java.net/jdk6/archive/b104/docs/api/java/text/Format.html#parseObject(java.lang.String)

parseObject
public Object parseObject(String source)
throws ParseException
Parses text from the beginning of the given string to produce an object. The method may not use the entire text of the given string

我想 #1 与分隔符不匹配。尽管模式是 :.,但您将/放入其中。

#2 在 HH 之后立即停止匹配,因为它从给定字符串的开头解析文本,并且不使用给定字符串的整个文本。

关于java - 当我将具有 "HH"模式的日期字符串传递给 SimpleDateFormat 时,为什么会返回日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27862904/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com