簡體   English   中英

帶有時區和SimpleDateFormat的不可解析的日期

[英]Unparseable date with timezone and SimpleDateFormat

我正在嘗試建立一個查詢,以便能夠按日期在字段中進行搜索。 我正在嘗試在下面的代碼中顯示,但出現此錯誤:

java.text.ParseException

訊息無法解析的日期:

"sun.util.calendar.ZoneInfo[id="BST",offset=21600000,dstSavings=0,useDaylight=false,transitions=8,lastRule=null]"

提前致謝

if (params.dateFromQuery){
                TimeZone timez = user.timeZone
                SimpleDateFormat sdfIn = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                SimpleDateFormat sdfOut = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                String input = timez;
                Date date = sdfIn.parse(input);

                ge('startTime', sdfOut.format(date))
                params.dateFrom = sdfOut.format(date)
            }

您根本不解析日期-您解析時區的字符串表示形式:

TimeZone timez = user.timeZone 
String input = timez; //THIS IS WRONG
Date date = sdfIn.parse(input);

檢查您要從哪里檢索輸入-必須在查詢中的某處。

它看起來應該像這樣:

TimeZone timez = user.timeZone 
sdfIn.setTimeZone(timez);
String input = params.dateFromQuery; //from your webform
Date date = sdfIn.parse(input);

如果您希望將TimeZone用於解析/格式化,則需要設置

sdfIn.setTimeZone(timez);

在使用該實例解析/格式化日期之前。

//Formatting time to set as 'startTime'. Which timezone to set here?
ge('startTime', sdfOut.format(date))

//Writing to input parameter?!
params.dateFrom = sdfOut.format(date)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM