java - 格式化数组元素

标签 java arrays date generics format

这是场景。用户输入 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));

我需要帮助的部分是,变量开始和结束的日期应该采用 UTC 格式。正如你们所看到的,我已经成功地将 new Date(0L)new Date() 转换为 UTC 格式。 但我似乎无法将 dates[0]dates[1] 格式化为 UTC。

有什么想法如何将dates[0]dates[1]转换为UTC时间格式吗?可以在同一条线上完成吗?

我尝试了 df.format(dates[0]) 但它不起作用。

如果我听起来像个傻瓜,我很抱歉,但我是 Java 新手,而且我每天都在学习。

提前非常感谢。

最佳答案

使用新 SimpleDateFormat 上的 parse 函数将这些字符串输入日期解析为不同的格式(使用格式 MM/dd/yyyy hh:mm:ss a),这将为您提供一个 Date,然后将其传递到您已有的 SimpleDateFormatformat 中。

String dbFormat = AppConstant.DB_DATE_FORMAT;
String format = AppConstant.DATE_FORMAT;
SimpleDateFormat df = new SimpleDateFormat(format);
SimpleDateFormat df2 = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss a");
df.setTimeZone(TimeZone.getTimeZone("UTC"));
String dates[] = searchValue.split("_", -1);
String start = "".equals(dates[0]) ? df.format(new Date(0L)) : df.format(df2.parse(dates[0]));
String end = "".equals(dates[1]) ? df.format(new Date()) : df.format(df2.parse(dates[1]));
filters.add(String.format("%s between to_date('%s', '%s') and to_date('%s', '%s')", columnKey, start, dbFormat, end, dbFormat))

关于java - 格式化数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17196809/

相关文章:

java - Libgdx 子弹光线转换永远不会碰撞

MySQL:从字符串中提取日期

javascript - 将 php 数组作为链接参数传递给 ajax 函数

c++ - 如何从系统日期获取昨天的日期并附加到字符串?

java - 对象化查询 : filter by date

java - 如何获取每个设备与蓝牙的距离?

java - JTabbedPane 自动调整大小

java - 如何解析带有标签内数据的 XML 字符串

java - Java中如何对数组进行排序?

c# - 将数组转换为 ObservableCollection