почему вычитая эти два раза (в 1927 г.) дает странный результат?

если я выполните следующую программу, которая анализирует две строки даты реферирование раз 1 секунду и сравнивает их:

public static void main(string[] args) throws parseexception {    simpledateformat sf = new simpledateformat("yyyy-mm-dd hh:mm:ss");      string str3 = "1927-12-31 23:54:07";      string str4 = "1927-12-31 23:54:08";      date sdt3 = sf.parse(str3);      date sdt4 = sf.parse(str4);      long ld3 = sdt3.gettime() /1000;      long ld4 = sdt4.gettime() /1000;    system.out.println(ld4-ld3);}
the output is:

353

ld4-ld31353

почему нет (как я бы ожидать от одного-вторых разница в разы), но ?

если я изменить даты для времени 1 секунду:

string str3 = "1927-12-31 23:54:08";  string str4 = "1927-12-31 23:54:09";  
ld4-ld31

затем будет .

java version:
java version "1.6.0_22"java(tm) se runtime environment (build 1.6.0_22-b04)dynamic code evolution client vm (build 0.2-b02-internal, 19.0-b04-internal, mixed mode)timezone(`timezone.getdefault()`):sun.util.calendar.zoneinfo[id="asia/shanghai",offset=28800000,dstsavings=0,usedaylight=false,transitions=19,lastrule=null]locale(locale.getdefault()): zh_cn