これがシナリオです。ユーザーは 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
入力は日付範囲クエリ用です。
1 つ目の入力: _ 区切り文字で分割: 開始日と終了日に分割されます。
2回目の入力:_区切りで区切る:入力は開始日のみ。
3回目の入力:_区切りで区切る:入力は終了日のみ。
入力は一般的な戻り値の型によって取得されます
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 形式でなければならないということです。ご覧のとおり、新しいものDate(0L)
とnew Date()
UTC 形式に変換することができました。しかし、フォーマットdates[0]
しdates[1]
てUTCにできないようです。
UTC 時間形式に変換する方法はdates[0]
ありますか? dates[1]
同じラインでできますか?
試しdf.format(dates[0])
ましたが、うまくいきません。
つまらないように聞こえるかもしれませんが、Java は初めてで、毎日学んでいます。
よろしくお願いします。