getMilliseconds()超出Java Date

Ube*_*rto 9 java date milliseconds

我需要像long getMillis(Date aDate)这样的函数;

返回Date秒的毫秒数.我不能使用Yoda,SimpleDateFormat或其他库,因为它是gwt代码.

我目前的解决方案正在做 date.getTime() % 1000

有没有更好的办法?

maa*_*nus 6

正如Peter Lawrey指出的那样,一般来说你需要类似的东西

int n = (int) (date.getTime() % 1000);
return n<0 ? n+1000 : n;
Run Code Online (Sandbox Code Playgroud)

因为%在Java中以"奇怪"的方式工作.我称之为奇怪,因为我总是需要将结果放入给定范围(此处:0..999),而不是有时得到负面结果.不幸的是,它在大多数CPU和大多数语言中以这种方式工作,所以我们必须忍受它.