通过传递特定时区上格式化的java日期,在基于UTC日期字符串获取记录时获取问题

通过传递特定时区上格式化的java日期,在基于UTC日期字符串获取记录时获取问题,java,mysql,date,datetime,Java,Mysql,Date,Datetime,我使用的是bootstrap datetimepicker,使用的格式是YYYY-MM-DDTHH:MM:ssZ我存储在数据库列中的文本输入 我只能将其存储为字符串。在获取记录时,我正在传递fromdate和toDate,这是针对应用程序时区(客户端计算机除外)的。我们也通过应用程序设置时区 对于MySQL查询,我使用以下方法进行日期比较: str_to_date(column_name,'%Y-%m-%dT%T') 这给获取记录带来了问题。有什么建议吗 我的问题是当我不确定datetimep

我使用的是bootstrap datetimepicker,使用的格式是
YYYY-MM-DDTHH:MM:ssZ
我存储在数据库列中的文本输入

我只能将其存储为字符串。在获取记录时,我正在传递
fromdate
toDate
,这是针对应用程序时区(客户端计算机除外)的。我们也通过应用程序设置时区

对于MySQL查询,我使用以下方法进行日期比较:

str_to_date(column_name,'%Y-%m-%dT%T')
这给获取记录带来了问题。有什么建议吗

我的问题是当我不确定datetimepicker格式是否正确时

我只能将其存储为字符串

停下来。就在那里。很少有理由认为您真的希望将日期和时间戳作为纯文本存储在MySQL数据库中。相反,您应该使用一个日期列,这将减轻您首先调用
STR\u to\u date
的需要

关于您呼叫
STR\u to\u DATE
,我认为您的格式掩码应该是:

STR_TO_DATE(column_name, '%Y-%m-%dT%H:%i:%sZ')
这似乎在下面的演示中起作用

我只能将其存储为字符串

停下来。就在那里。很少有理由认为您真的希望将日期和时间戳作为纯文本存储在MySQL数据库中。相反,您应该使用一个日期列,这将减轻您首先调用
STR\u to\u date
的需要

关于您呼叫
STR\u to\u DATE
,我认为您的格式掩码应该是:

STR_TO_DATE(column_name, '%Y-%m-%dT%H:%i:%sZ')
这似乎在下面的演示中起作用