Date类的getDay()和getDate()方法

时间:2024-05-20 09:18:38


                                       Date类的getDay()和getDate()方法

                                                                          图片是后来添加上去的
 

 

 

 

遇到的问题:

      今天,搞了一个属于自己的日历,碰到一个比较纠结的问题,就是那个日期(指的是“日”不是“年月”)面板上的日期和星期面板上的星期怎么也不对应,查看其他的月份,结果是日期面板上的日期是静态的,比方说每个月的第一天不管怎样都和星期一对应,依次往后排是第二天,第三天……

 

日期面板是这样规定日期的:

      我的日历的日期每一天都是在一个按钮上setText标识的,这样的话,绘制按钮时,就必须知道每个月的第一天是星期几,从而根据他来开始setText按钮,比方说第一天是星期三,那么就应该从把第三个按钮setText为“1”,第四个按钮setText为“2”依次类推,那么第一和第二个按钮就应该setText为“”(空)。

 

      系统提供了一个类Date其中有两个方法:getDay()和getDate()(这两个方法现在都已经过时,但是还能用只是在那个方法调用时会在方法体上有一个类似于删除意思的横线,表明已经过时),其中getDate()是返回返一个日期对象

比方说Date day=new Date(2010,07,02)中的“日”在这里就会返回一个2,代表是这个年月的第二天。那么getDay()方法就是返回日期对象所对应的星期几,还以上面的day为例,当调用day.getDay()时就会返回一个“1”,代表2010年7月2日是星期一(本来应是再加上1900表示3910的,在这里就权且是2010吧),返回值 (0 = Sunday, 1 = Monday, 2 = Tuesday, 3 = Wednesday, 4 = Thursday, 5 = Friday, 6 = Saturday) 表示一周中的某一天。

问题分析:

      我的问题就是错误的调用了getDate()方法企图用firstday.getDate()(firstday是一个日期对象,表示每个月的第一天)得到每个月的第一天是星期几的值,可想而知得到的值都是'1",这样在setText第一天的按钮时就总是和星期一对应啦,当然改成firstday.getDay()就没有问题啦

一点感触:

      难怪那两个方法都被标记为过时,因为很容易就会让人混淆,而修改后的方法好像是注意到了这一点,就比较容易区分啦

相关文章