提交 84877c3d authored 作者: Evgenij Ryazanov's avatar Evgenij Ryazanov

Use Calendar.getTimeInMillis() instead of Calendar.getTime().getTime()

上级 1814f24d
...@@ -1856,8 +1856,7 @@ public class Function extends Expression implements FunctionCall { ...@@ -1856,8 +1856,7 @@ public class Function extends Expression implements FunctionCall {
int nanos = d.getNanos() % 1000000; int nanos = d.getNanos() % 1000000;
calendar.setTime(d); calendar.setTime(d);
calendar.add(field, (int) count); calendar.add(field, (int) count);
long t = calendar.getTime().getTime(); Timestamp ts = new Timestamp(calendar.getTimeInMillis());
Timestamp ts = new Timestamp(t);
ts.setNanos(ts.getNanos() + nanos); ts.setNanos(ts.getNanos() + nanos);
return ts; return ts;
} }
......
...@@ -288,7 +288,7 @@ public class DateTimeUtils { ...@@ -288,7 +288,7 @@ public class DateTimeUtils {
Calendar local = DateTimeUtils.createGregorianCalendar(); Calendar local = DateTimeUtils.createGregorianCalendar();
local.setTime(x); local.setTime(x);
convertTime(local, target); convertTime(local, target);
return target.getTime().getTime(); return target.getTimeInMillis();
} }
private static void convertTime(Calendar from, Calendar to) { private static void convertTime(Calendar from, Calendar to) {
...@@ -474,7 +474,7 @@ public class DateTimeUtils { ...@@ -474,7 +474,7 @@ public class DateTimeUtils {
} }
c.setLenient(lenient); c.setLenient(lenient);
setCalendarFields(c, year, month, day, hour, minute, second, millis); setCalendarFields(c, year, month, day, hour, minute, second, millis);
return c.getTime().getTime(); return c.getTimeInMillis();
} }
private static void setCalendarFields(Calendar cal, int year, int month, private static void setCalendarFields(Calendar cal, int year, int month,
......
...@@ -1309,7 +1309,7 @@ public class TestResultSet extends TestBase { ...@@ -1309,7 +1309,7 @@ public class TestResultSet extends TestBase {
java.sql.Timestamp.valueOf("2011-11-11 00:00:00.0").getTime()); java.sql.Timestamp.valueOf("2011-11-11 00:00:00.0").getTime());
o = rs.getObject(2, Calendar.class); o = rs.getObject(2, Calendar.class);
assertTrue(o instanceof Calendar); assertTrue(o instanceof Calendar);
assertEquals(((Calendar) o).getTime().getTime(), assertEquals(((Calendar) o).getTimeInMillis(),
java.sql.Timestamp.valueOf("2011-11-11 00:00:00.0").getTime()); java.sql.Timestamp.valueOf("2011-11-11 00:00:00.0").getTime());
rs.next(); rs.next();
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论