检查date()是否是星期一? java的

有没有办法检查java Date对象是否是星期一? 我看到你可以使用Calendar对象,但是日期? 如果改变星期一的索引,我也会使用美国东部的日期和时间

这样的东西会起作用:

 Calendar cal = Calendar.getInstance(); cal.setTime(theDate); boolean monday = cal.get(Calendar.DAY_OF_WEEK) == Calendar.MONDAY; 

您可以使用Calendar对象。

使用setTime(date)将日期设置为日历对象

例:

 calObj.get(Calendar.DAY_OF_WEEK) == Calendar.MONDAY 

编辑:正如Jon Skeet建议的那样,您需要将TimeZone设置为Calendar对象,以确保它适用于时区。

没有两条额外的信息,这个问题没有意义:时区和日历系统。

Date对象只代表一个即时时间。 它恰好是我所在时区的格里高利历中的星期三 – 但对于我以东的一些人来说,已经是周四了。 在其他日历系统中,甚至可能没有“星期一”等概念。

日历系统部分可能不是问题,但您需要确定您感兴趣的时区。

然后,您可以创建一个Calendar对象并设置时区和表示的时刻 – 或者更好的是,您可以使用Joda Time ,这是一个更好的日期/时间API。 你仍然需要考虑相同的问题,但你的代码会更清晰。

您应该使用Calendar对象进行这些检查。 日期有弱时区支持。 在一个时区中,此日期可以是星期一,而在另一个时区,它仍然是星期日。