Hey Jürgen,
maybe this works better?
Date date = new DateTime(2010, 11, 6, 0, 0, 0,
0).withZone(DateTimeZone.forID("America/Los_Angeles")).toDate();
Am 29.12.2010 um 22:31 schrieb Juergen Donnerstag:
> though you are right in what you are saying about joda caching the
> timezone, I don't think it is the root cause.
>
> Looking at the logs everything is fine until step 4 (actually 5) when
> the hour is set based on the input provided. It is set to 0 which is
> what I provided. The problem is that the timezone of the mutable date
> is not yet set. The timezone should be, as you suggested, be set when
> the mutable date is created.
>
> =========== testDates1() =================
>>>> convertDate()
> 1. dateFieldInput: 1288998000000 Sat Nov 06 00:00:00 CET 2010
> 2. mutable date: 1288998000000 2010-11-05T19:00:00.000-04:00
> 3. secs = 0: 1288998000000 2010-11-05T19:00:00.000-04:00
> 4. AM/PM: 1288998000000 2010-11-05T19:00:00.000-04:00
> 4. hours: 1288929600000 2010-11-05T00:00:00.000-04:00
>
> -Juergen
>
>
> On Wed, Dec 29, 2010 at 9:40 PM, Attila Király
> <[email protected]> wrote:
>> Guess I could not send an attached file. I am putting the patch here. Sorry
>> for the noise.
>>
>> ---------------------%<----------------------%<---------------------
>> Index:
>> wicket-datetime/src/test/java/org/apache/wicket/extensions/yui/calendar/DatePickerTest.java
>> ===================================================================
>> ---
>> wicket-datetime/src/test/java/org/apache/wicket/extensions/yui/calendar/DatePickerTest.java
>> (revision
>> 1053723)
>> +++
>> wicket-datetime/src/test/java/org/apache/wicket/extensions/yui/calendar/DatePickerTest.java
>> (working
>> copy)
>> @@ -134,6 +134,43 @@
>> }
>>
>> /**
>> + * Tests joda & jvm default time zone handling
>> + */
>> + public void testJodaTimeDefaultTimeZone()
>> + {
>> + TimeZone origJvmDef = TimeZone.getDefault();
>> + DateTimeZone origJodaDef = DateTimeZone.getDefault();
>> +
>> + // lets find a timezone different from current default
>> + String newId = null;
>> + for (String id : TimeZone.getAvailableIDs())
>> + {
>> + if (!id.equals(origJvmDef.getID()))
>> + {
>> + newId = id;
>> + break;
>> + }
>> + }
>> +
>> + assertNotNull(newId);
>> +
>> + TimeZone.setDefault(TimeZone.getTimeZone(newId));
>> +
>> + TimeZone newJvmDef = TimeZone.getDefault();
>> + DateTimeZone newJodaDef = DateTimeZone.getDefault();
>> +
>> + // if this fails we are under security manager
>> + // and we have no right to set default timezone
>> + assertNotSame(origJvmDef, newJvmDef);
>> +
>> + // this should be true because joda caches the
>> + // default timezone and even for the first
>> + // lookup it uses a System property if possible
>> + // for more info see org.joda.time.DateTimeZone.getDefault()
>> + assertSame(origJodaDef, newJodaDef);
>> + }
>> +
>> + /**
>> *
>> * @throws ParseException
>> */
>>
>> ---------------------%<----------------------%<---------------------
>>
>> Attila Király
>>