gpt4 book ai didi

java - 具有时区和 SimpleDateFormat 的不可解析日期

转载 作者:行者123 更新时间:2023-11-30 07:46:02 25 4
gpt4 key购买 nike

我正在尝试构建一个查询,以便能够按日期在字段中搜索。我尝试在下面的代码中显示,但收到此错误:

类别

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);

如果您希望在解析/格式化中使用时区,则需要设置

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)

关于java - 具有时区和 SimpleDateFormat 的不可解析日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33957755/

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