这是场景。用户输入 3 种类型的输入:
1/1/2013 12:00:00 AM_5/31/2013 12:00:00 AM
1/1/2013 12:00:00 AM_
_5/31/2013 12:00:00 AM
输入用于日期范围查询。
第一个输入:由 _ 分隔符拆分:分为开始日期和结束日期。
第二个输入:由_分隔符分割:输入只是开始日期。
第三个输入:由_分隔符分割:输入只是结束日期。
输入由通用返回类型检索
String dbFormat = AppConstant.DB_DATE_FORMAT;
String format = AppConstant.DATE_FORMAT;
SimpleDateFormat df = new SimpleDateFormat(format);
df.setTimeZone(TimeZone.getTimeZone("UTC"));
String dates[] = searchValue.split("_", -1);
String start = "".equals(dates[0]) ? df.format(new Date(0L)) : dates[0];
String end = "".equals(dates[1]) ? df.format(new Date()) : dates[1];
filters.add(String.format("%s between to_date('%s', '%s') and to_date('%s', '%s')", columnKey, start, dbFormat, end, dbFormat));
我需要帮助的部分是,变量 start 和 end 的日期应该是 UTC 格式。正如你们所看到的,我已经设法将新格式转换Date(0L)
为new Date()
UTC 格式。但我似乎无法格式化dates[0]
和dates[1]
UTC。
任何想法如何转换dates[0]
并转换dates[1]
为 UTC 时间格式?是否可以在同一行中完成。
我试过df.format(dates[0])
但它不起作用。
对不起,如果我听起来像个小人,但我是 Java 新手,我每天都在学习。
提前非常感谢。