在MySQL中,我试图区分两个时间戳值并将结果存储在时间列中。但有时结果是'hhh:mm:ss'格式。在尝试使用Result.getTime()在Java中访问该列时,它会抛出错误,说“列x中的时间格式错误”。
为了更好的想法,将以下查询的结果存储在时间列中,并尝试在Java中访问此值。
SELECT SEC_TO_TIME(ABS(TIMESTAMPDIFF(SECOND,'2013-01-26 19:03:48','2013-02-15 06:59:36'))) as 'RESULT';
即使它有'hhh:mm:ss'格式(没有任何错误),我该怎么做才能获得结果?
提前致谢。
答案 0 :(得分:1)
您无法将两个日期之间的差异表示为另一个日期。例如,如果你有31天的差异,你不能说它是1个月还是1个月和1天。
您应该创建自己的对象来存储此数据。
答案 1 :(得分:1)
我假设您运行查询并且结果集包含结果
String hourMinSec=resultset.getString("RESULT");
String[]result=hourMinSec.split(":");
int hour=Integer.parseInt(result[0]);
int min=Integer.parseInt(result[1]);
int second=Integer.parseInt(result[2]);
我认为,将两个日期之间的差异表示为日期是毫无意义的。只是为了回答你的问题,如果你想创造时间,你可以使用以下
Time time =new Time(hour, min, second);
但我觉得它毫无意义。