2012-11-04 30 views
0

我想在不使用日期和其他方法的情況下在java中查找星期幾,我可以找到兩個日期之間的日差,但我不能瞭解我如何能夠找到特定日期的一週中的哪一天。如何找到一週中的哪一天它是java

+0

您是否嘗試過使用'Calendar'? –

+1

你爲什麼要重新發明輪子?你對什麼時區感興趣?日期和時間很複雜 - 你應該*絕對*避免自己進行計算,除非你有一個很好的理由去做。 –

+1

聽起來就像我在學習計算機科學時所做的任務。有一個計算星期幾的公式... – CSharpie

回答

1

如果你能找到兩天之間的日差,那麼就使用mod運算符。

例如,如果您知道day1 = Monday,並且您想查找701天后的哪一天,則它是Monday + 701 % 7 = Monday + 1 = Tuesday

+0

我知道日差和星期一= 0,但如果一天是星期日,我必須扣除-2,並且我不可能知道何時必須扣除以及何時需要添加 –

+0

選擇一個基準日,然後計算這個基準日的具體日期。差別是正面或負面,你不必考慮其他任何東西。消極的區別處理你所要求的。 –

+0

但模7給出了2的結果,如果他們的日子是星期日,所以我將不得不扣除,但如果它是星期二,它仍然顯示2. –

0

您選擇的方法看起來非常複雜,而且容易出錯。

我建議創建自己的類名爲日期

日期將包含月份,日期和年份,並知道如何減去或添加日期。

它也應該能夠確定它是否等於,在之前或之後的另一個日期。

您應該使用int數組來表示每個月的天數。

該數組可以是Date類的私有靜態字段。

然後,您可以創建一個代表date2的類的實例,並一次減去一天,直到它等於date1。

您可以使用類似的方法通過比較輸入日期和已知星期幾的基準日期來確定星期幾。

我確定這是你的導師打算完成這項任務。

這將教你寶貴的一課:物體的

利用在代替使用使用大量if語句的封裝。

+0

我說我已經選擇了一個日期是31/8/2020,因爲它是星期一 –

相關問題