gpt4 book ai didi

java - 在 java.util.Date 类型中插入特殊字符

转载 作者:行者123 更新时间:2023-12-01 05:00:24 24 4
gpt4 key购买 nike

在此invprbm.setFollowUpDate()中是java.util.Date类型。
如果给定值为空,我必须将 followUpDate 设置为特殊字符 - -,例如:

SimpleDateFormat formatter = new SimpleDateFormat("- -");
invprbm.setFollowUpDate(formatter.parse("- -"));

在这种情况下,我得到的值类似于 Thu Jan 01 00:00:00 IST 1970,而不是预期的 - -

最佳答案

您似乎在问应该如何解析由字符串“- -”表示的“空”日期。简单的答案是你没有解析它!

而是做这样的事情:

SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yy"); // or whatever
if (str.equals("- -")) {
invprbm.setFollowupDate(null);
} else {
invprbm.setFollowUpDate(formatter.parse(str));
}

如果你真的想从日期转换为字符串,你可以这样做:

if (date == null) {
invprbm.setFollowupDate("- -");
} else {
invprbm.setFollowUpDate(formatter.format(date));
}
<小时/>

您当前方法的问题在于 SimpleDateFormat 并非旨在处理 null 日期。它无法解析字符串以生成 null Date 对象,也无法格式化 null Date 对象。

您当前的代码实际上正在执行的是指定一种格式,该格式不会告诉解析器如何从输入字符串中提取日期/时间的任何组成部分。 parse 方法返回一个 getTime() 值为零的 Date 对象。这并非不合理,因为您尝试执行的操作超出了 SimpleDateFormat 类的 javadoc 规范。

关于java - 在 java.util.Date 类型中插入特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13467571/

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