This would also happen if today was the 31st and you changed to a month that had 30 or 28 days.
-TH --- In [email protected], "Gordon Smith" <[EMAIL PROTECTED]> wrote: > > Your code leads to the same invalid value. > > > > When you don't pass any arguments to the Date constructor, you get a > Date representing "right now", so 'date' is 29 because today is the > 29th. When you then set the fullYear to 1987 and then month to 1 > (February), you get the invalid date Feburary 29, 1987 which is > intepreted as March 1, 1987. You then set the 'date' to 3 and get March > 3, 1987. > > > > In more detail, here is how I think the Player is executing your code on > July 29, 2008 (today): > > > > var d:Date = new Date; > > // d represents July 29, 2008 > > // d.fullYear is 2008 > > // d.month is 6 (July) > > // d.date is 29 > > > > d.fullYear = 1987; > > // d represents July 29, 1987 > > // d.fullYear is 1987 > > // d.month is 6 (July) > > // d.date is 29 > > d.month = 1; // (February) > // d represents February 29, 1987 -- OOPS! This is invalid but > "equivalent" to March 1, 1987, so now > > // d.fullYear is 1987 > > // d.month is 2 (March) > > // d.date is 1 > > > > d.date = 3; > // d represents March 3, 1987 > > // d.fullYear is 1987 > > // d.month is 2 (March) > > // d.date is 3 > > > > Please go ahead and file a bug against Flex and we'll transfer it into > the Player team's bugbase for them to determine whether this behavior is > consistent with the Ecmascript spec or not. Be sure to indicate that you > are executing this code on July 29, 2008 because the fact that today is > the 29th is crucial. > > > > Gordon Smith > > Adobe Flex SDK Team > > > > ________________________________ > > From: [email protected] [mailto:[EMAIL PROTECTED] On > Behalf Of aceoohay > Sent: Tuesday, July 29, 2008 3:09 PM > To: [email protected] > Subject: [flexcoders] Re: Flex 2.01 date problem > > > > What you have shown is that if you use invalid data (February 29th > of a non leap year) you get bad results. What I showed (February 3rd > of a non leap year) was that if I use valid data I get invalid > results. > > I truly believe this is a bug. > > Paul > --- In [email protected] <mailto:flexcoders%40yahoogroups.com> > , "Gordon Smith" gosmith@ > wrote: > > > > A simpler test is > > > > > > > > var d:Date = new Date(1987, 1, 29); > > trace(d); > > > > > > > > This traces "Sun Mar 1 00:00:00 GMT-0800 1987", presumably because > 1987 > > didn't have a February 29. So I doubt waht you're seeing is a bug. > (I'd > > have to check the Ecmascript spec to say for sure.) But it means > that > > using Date correctly is much trickier than I ever realized! > > > > > > > > Gordon Smith > > > > Adobe Flex SDK Team > > > > > > > > ________________________________ > > > > From: [email protected] <mailto:flexcoders%40yahoogroups.com> > > [mailto:[email protected] <mailto:flexcoders%40yahoogroups.com> > ] On > > Behalf Of Matt Chotin > > Sent: Tuesday, July 29, 2008 2:31 PM > > To: [email protected] <mailto:flexcoders%40yahoogroups.com> > > Subject: Re: [flexcoders] Re: Flex 2.01 date problem > > > > > > > > Try setting the date before you set the month? I think setting the > month > > while the current day is later than 28 is going to roll the month > on you > > potentially? Just by reording that I got it to work. When I tried > to set > > the Date's time to 0 to avoid it using the current date that > didn't seem > > to fix things... > > > > It does feel like an odd error though. Might be worth filing a > Flash > > Player bug at http://bugs.adobe.com/jira. > <http://bugs.adobe.com/jira.> > <http://bugs.adobe.com/jira. <http://bugs.adobe.com/jira.> > > > Though would be good to test JavaScript to see if it behaves the > same. > > > > Matt > > > > On 7/29/08 2:14 PM, "aceoohay" pauls@ > > <mailto:pauls%40compuace.com> > wrote: > > > > Just as a test I used the following; > > > > dtTest = new Date(1987,1,3,0,0,0,0); > > > > This returned; > > > > dtTest.toDateString()=Tue Feb 3 1987 > > > > which is what I expected. I am so confused. > > > > Any ideas? > > > > Paul > > > > --- In [email protected] > <mailto:flexcoders%40yahoogroups.com> <mailto:flexcoders% > 40yahoogroups.com> > > <mailto:flexcoders%40yahoogroups.com> , "aceoohay" <pauls@> wrote: > > > > > > The following code yields unexpected results on a date; > > > > > > var dtTest:Date = new Date; > > > dtTest.fullYear = 1987; > > > dtTest.month = 1; > > > dtTest.date = 3; > > > trace('dtTest.toDateString()=' + > > > dtTest.toDateString()); > > > > > > The result is; > > > > > > dtTest.toDateString()=Tue Mar 3 1987 > > > > > > It is my understanding that this should be February not March. > > What am > > > I doing wrong? or is there a bug in the Date object? > > > > > > Paul > > > > > >

