Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #24163

Re: Possible to treat time in milliseconds as a different time zone?

From Nigel Wade <nmw@ion.le.ac.uk>
Newsgroups comp.lang.java.programmer
Subject Re: Possible to treat time in milliseconds as a different time zone?
Date 2013-05-22 10:00 +0100
Message-ID <b03fohFaoriU1@mid.individual.net> (permalink)
References <9aa4dbef-0212-4823-9b31-1a6d54ee772c@googlegroups.com>

Show all headers | View raw


On 21/05/13 15:58, laredotornado@zipmail.com wrote:
> Hi,
>
> I'm using Java 6.  I'm trying to see if there's a simple way to convert a long varaible (the number of milliseconds since 1970) to a timezone other than GMT.  I have another time zone string, MY_TIMEZONE, which could be a timezone string ("GMT-5"), but I'm figuring out this doesn't work ...
>
>      long timeInMs = 1368921600000;
>      final Calendar cal = Calendar.getInstance();
>      cal.setTimeZone(TimeZone.getTimeZone(MY_TIMEZONE));
>      cal.setTimeInMillis(timeInMs);
>      final java.util.Date dateObj = cal.getTime();
>      System.out.println(dateObj.toString());
>
> Can I parse the time zone string to get the number of hours difference and then just add that?  Grateful for any elegant solutions.  Thanks, - Dave
>

Timezone is an artificial concept.

In Java the Date object represents a particular instant in time, and is the number of milliseconds since 1970. This is
independent of timezone. You can't "convert" it to another timezone. This principle underpins the entire Date, Calendar
and TimeZone concept.

In order to view a Date in "human" terms, i.e. wallclock time, timezones are used. This converts an instant in time
represented by the Date object into a wallclock time in a particular timezone.

For example, the time in UK now is 09:50 BST. This represents a particular instant in time and has an associated Date
value. In New York the wallclock time is 04:50 EDT. However, the Date for the UK time is the same as the Date for the
New York time since they are the same instant in time, only the local representation changes.

So, your code won't work since all timezones will have the same Date for a particular instant in time. Your objective
appears to be backwards. What are you actually trying to achieve?

-- 
Nigel Wade

Back to comp.lang.java.programmer | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Possible to treat time in milliseconds as a different time zone? laredotornado@zipmail.com - 2013-05-21 07:58 -0700
  Re: Possible to treat time in milliseconds as a different time zone? Arne Vajhøj <arne@vajhoej.dk> - 2013-05-21 11:23 -0400
  Re: Possible to treat time in milliseconds as a different time zone? Eric Sosman <esosman@comcast-dot-net.invalid> - 2013-05-21 11:31 -0400
  Re: Possible to treat time in milliseconds as a different time zone? Stanimir Stamenkov <s7an10@netscape.net> - 2013-05-21 23:09 +0300
  Re: Possible to treat time in milliseconds as a different time zone? Nigel Wade <nmw@ion.le.ac.uk> - 2013-05-22 10:00 +0100
    Re: Possible to treat time in milliseconds as a different time zone? Jukka Lahtinen <jtfjdehf@hotmail.com.invalid> - 2013-05-22 13:08 +0300
      Re: Possible to treat time in milliseconds as a different time zone? Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> - 2013-05-22 16:46 +0200
  Re: Possible to treat time in milliseconds as a different time zone? Roedy Green <see_website@mindprod.com.invalid> - 2013-05-22 03:03 -0700
  Re: Possible to treat time in milliseconds as a different time zone? Robert Klemme <shortcutter@googlemail.com> - 2013-05-26 14:23 +0200
  Re: Possible to treat time in milliseconds as a different time zone? Michal Kleczek <michal_wytnijto@kleczek.org> - 2013-05-27 11:45 +0200

csiph-web