Anyone?
On Fri, Dec 23, 2011 at 1:17 AM, Shay Banon <kim...@gmail.com> wrote:
> Let me try and explain what I am trying to do, maybe I have gone the wrong
> way to try and achieve it. Basically, I have a list of utc millis since
> epoch, and I would like to build a histogram bucking them, but I want it to
> be built by also taking a custom time zone into account. The return value
> of each bucket should be skewed by the time zone to be millis since the
> epoch based on that time zone.
>
> I used MutableDateTime, initialized it with the relevant time zone, and
> then the rounding, and basically setMillis and getMillis for it. It works
> well with day rounding, but with minute rounding, I still get back the utc
> millis, and not ones epoch skewed by the time zone.
>
> The main reason for returning bucket start time in time zone based millis
> since epoch is to simplify graphing the results.
>
> Does that make sense? Is there a better way to do it?
>
>
> On Fri, Dec 23, 2011 at 12:13 AM, Stephen Colebourne <scolebou...@joda.org
> > wrote:
>
>> When you choose dayOfMonth, you are asking to round to the nearest
>> day, where as with minuteOfHour you are asking to round to the nearest
>> minute. The rounding occurs relative to the offset.
>>
>> The millis value for the date is simply a reflection of the offset.
>> The rounding applies to the local date time, which is why both the
>> +01:00 and UTC offsets print a time of midnight.
>>
>> Stephen
>>
>> On 22 December 2011 21:13, Shay Banon <kim...@gmail.com> wrote:
>> > Heya,
>> >
>> > I got this strange behavior with rounding and timezone. Depending on
>> the
>> > type of rounding (dayOfMonth vs. minuteOfHour) I am getting different
>> > results for the same rounded value. The following code runs with
>> dayOfMonth:
>> >
>> > MutableDateTime time = new MutableDateTime(DateTimeZone.UTC);
>> > time.setZone(DateTimeZone.forOffsetHours(1));
>> > time.setRounding(time.getChronology().dayOfMonth(),
>> > MutableDateTime.ROUND_FLOOR);
>> >
>> > MutableDateTime utcTime = new MutableDateTime(DateTimeZone.UTC);
>> > utcTime.setRounding(utcTime.getChronology().dayOfMonth(),
>> > MutableDateTime.ROUND_FLOOR);
>> >
>> > time.setMillis(0);
>> > utcTime.setMillis(0);
>> > System.out.println("time: " + time + ", utc " + utcTime);
>> > System.out.println("time_millis: " + time.getMillis() + ",
>> > utc_millis " + utcTime.getMillis());
>> >
>> > And the output shows that the time millis differ between the utc one,
>> and
>> > the time zone one. On the other hand, just changing to round based on
>> > minuteOfHour, results in the millis between the two to be the same:
>> >
>> > MutableDateTime time = new MutableDateTime(DateTimeZone.UTC);
>> > time.setZone(DateTimeZone.forOffsetHours(1));
>> > time.setRounding(time.getChronology().minuteOfHour(),
>> > MutableDateTime.ROUND_FLOOR);
>> >
>> > MutableDateTime utcTime = new MutableDateTime(DateTimeZone.UTC);
>> > utcTime.setRounding(utcTime.getChronology().minuteOfHour(),
>> > MutableDateTime.ROUND_FLOOR);
>> >
>> > time.setMillis(0);
>> > utcTime.setMillis(0);
>> > System.out.println("time: " + time + ", utc " + utcTime);
>> > System.out.println("time_millis: " + time.getMillis() + ",
>> > utc_millis " + utcTime.getMillis());
>> >
>> >
>> > I must be missing something obvious, but I don't understand why the
>> results
>> > would be different between the two runs? The results of the two runs
>> should
>> > be the same (and I think they all should have 0 as millis, no?).
>> >
>> > -shay.banon
>> >
>> >
>> ------------------------------------------------------------------------------
>> > Write once. Port to many.
>> > Get the SDK and tools to simplify cross-platform app development. Create
>> > new or port existing apps to sell to consumers worldwide. Explore the
>> > Intel AppUpSM program developer opportunity.
>> appdeveloper.intel.com/join
>> > http://p.sf.net/sfu/intel-appdev
>> > _______________________________________________
>> > Joda-interest mailing list
>> > Joda-interest@lists.sourceforge.net
>> > https://lists.sourceforge.net/lists/listinfo/joda-interest
>> >
>>
>>
>> ------------------------------------------------------------------------------
>> Write once. Port to many.
>> Get the SDK and tools to simplify cross-platform app development. Create
>> new or port existing apps to sell to consumers worldwide. Explore the
>> Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
>> http://p.sf.net/sfu/intel-appdev
>> _______________________________________________
>> Joda-interest mailing list
>> Joda-interest@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/joda-interest
>>
>
>
------------------------------------------------------------------------------
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create
new or port existing apps to sell to consumers worldwide. Explore the
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev
_______________________________________________
Joda-interest mailing list
Joda-interest@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/joda-interest