如何找到它的星期几 – Java

还有一些其他问题几乎相同,但我似乎无法让我的代码工作。 我得到了生日dd / mm / yyyy的用户输入。 顺便说一下,我忽略了闰年。 我试图确定用户出生时的一周中的哪一天。 我必须确定他们从特定日期出生的天数,在这种情况下是1901年1月1日星期二。这就是为什么我完成了year-1901

day = int day;

使用一个开关来确定每个月的天数由dayMonth表示,所以7月有31,feb有28等。

年= int year;

 String[] days = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"}; howManyDays = ((year-1901)*365 + dayMonth + day - 1); whatDay = (howManyDays%7); days[whatDay] 

它有时会起作用,但有时则不然。 如果有任何问题随时可以提出,任何帮助表示赞赏。 提前谢谢,希望它有意义!

您可以使用Java日历。

 Calendar c = Calendar.getInstance(); c.set(year, month, day); int day_of_week = c.get(Calendar.DAY_OF_WEEK); 

这给你一个int,它是哪一天,你可以提供一个数组来映射日期的“名称”。

您使用的代码无法在任何标准日期操作中实现,因为有许多情况,如闰年等。

尝试使用java.util.Calendar进行需要知道Week Days,Months等详细信息的日期操作。

对于更复杂的日期function使用JODA日历 。 Joda日历速度很快,并且有很多操作,例如两天之间的日期等。您可以查看上面的链接以获取更多详细信息。

现在你可以使用它

  Calendar calendar = Calendar.getInstance(); calendar.set(year, month, date) ; int i=calendar.get(Calendar.DAY_OF_WEEK); 

在这里,i的值将从周日到周六的1-7。