0

我想在java中找到一周中的哪一天而不使用日期和其他自行完成的方法。我可以找到两个日期之间的日差,但我不明白如何找到特定日期是一周中的哪一天.

4

3 回答 3

1

如果您可以找到两天之间的天差,那么只需使用 mod 运算符。

例如,如果您知道day1 = Monday,并且您想找出 701 天之后的哪一天,那就是Monday + 701 % 7 = Monday + 1 = Tuesday

于 2012-11-04T17:38:08.377 回答
1

有一些公式可以确定特定日期在一周中的哪一天:

http://en.wikipedia.org/wiki/Determination_of_the_day_of_the_week#Purely_mathematical_methods

于 2012-11-04T17:40:00.053 回答
0

您选择的方法似乎极其复杂且容易出错。

我建议创建您自己的名为Date的类。

日期将包含月、日和年,并且知道如何减去或添加天数。

它还应该能够确定它是等于、之前还是之后的另一个日期。

您应该使用一个整数数组来表示每个月的天数。

该数组可以是 Date 类的私有静态字段。

然后,您可以创建一个代表 date2 的类的实例,并一次减去一天,直到等于 date1。

您可以使用类似的方法通过将输入日期与具有已知星期几的基准日期进行比较来确定星期几。

我敢肯定,这就是你的导师为这项作业准备的。

这将教给你一个宝贵的教训:

利用对象来使用封装,而不是使用一堆if 语句

于 2012-11-04T18:14:34.533 回答