• Post Reply Bookmark Topic Watch Topic
  • New Topic

Milliseconds to Date using Calendar [without using Epoch]  RSS feed

 
Adolfo Eloy
Ranch Hand
Posts: 146
Eclipse IDE Java Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi all.
I've already search trying to understand what's happening in the following snippet of code but I didn't find anything helpful yet.



I'm trying to output something like follows:
000:00:00:01,000

But, I'm getting:
031:09:00:01,000

I've been trying to use GMT and UTC Timezones when creating a calendar but it didn't solve this problem.
I think that there is something related to Epoch but I'm not getting it.

Notes: I know that an instance of Date would never have a date defined with day equals to 0 or month equals to 0.
But 1000 milliseconds is equal to 1 second and 1 second is far enough to complete 1 day. :P

Thanks in advance for some help.

 
Richard Tookey
Bartender
Posts: 1166
17
Java Linux Netbeans IDE
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
It is not obvious to me but why are you doing this?
 
Rob Spoor
Sheriff
Posts: 21135
87
Chrome Eclipse IDE Java Windows
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I'd use HH, not hh. hh returns something between 01 and 12 inclusive. midnight in hh:mm:ss is 12:00:00 (AM, not PM).

About your issue. The date is probably 21:00:01 on December 31st 1969. That indicates there's indeed a timezone issue. If I run your code I get 001:01:00:01,000. Changing the time zone of the Calendar does not help. However, you can also change the time zone of your SimpleDateFormat. If I do that I get 001:12:00:01,000 (or 001:00:00:01,000 if I switch to HH).

On a side note, you can drop the Calendar completely. You create a Calendar, set its time, then retrieve that time again. You can create a Date directly:
 
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!