2016-11-14 35 views
-1

我正在嘗試將6位數字轉換爲星期幾。例如,我希望將「150102」轉換爲星期五「星期五」爲「2015年」,「01」爲月份,「02」爲當天將6位數字轉換爲星期幾(python)

注意我想在不導入任何時間的功能和使用Python的語言。

+0

到目前爲止,你有什麼嘗試/得到了什麼?爲什麼你不想導入任何時間函數(當涉及日期/時間工作時,有很多細微差別,如果沒有專門的API,不愉快)?什麼(具體)你堅持? – user2478398

+0

您是在尋找適合您的算法,還是隻是一般的想法和需要考慮的事情。正如@ user2478398所提到的,計算時間時有很多細節。 –

+0

我們在課堂上沒有任何時間功能,所以我們不能使用它們。我無法將6位數字轉換爲工作日 – CSCdummie

回答

1

那麼,從你的評論來看,這是一個任務(這意味着它應該被標記爲這樣),所以我恐怕我的解決方案將是模糊的,但提供一些指導在一個(讀,可能不是最好的)解決方案。

首先,你想有一些東西,拆分給串入年/月/日。

public class Date { 
    private int year, month, date; 

    public Date(final String given) { 
     // TODO - Extract year/month/date. 
     // Validate year is supported, month exists and date 
     // exists in month... 
    } 
} 

接下來,你會(可能)需要一些你知道工作日的固定點(比如2000年1月1日;星期六)。

然後使用您在年/閏年,每月等日期的知識來查找多少天,因爲當日提供的論點是。

static int daysSinceKnown(Date date) { 
    // TODO - How many years since, how many of those were leap-years, etc. 
} 

最後,模塊化算術可以給你從函數返回的星期幾。 (具體來說,看看這個值mod 7%7)會給你一個數字0-6 [負數不會很好地工作,但你可以在驗證一年的時候捕捉到這一點],你可以把它解釋爲一週中的某一天。)

+0

所以我不認爲閏年是必要的,因爲我們只是使用2015年。此外,是否有可能轉換這成python?我正在努力閱讀這種語言 – CSCdummie

+0

公平的閏年。我相信它是;但恐怕不是我(從未看過python)。說實話,這裏沒有實際的實現代碼,只是佔位符來幫助解釋流程,所以它不應該太難轉換(除了可能使'Date'類3方法,返回年/月/日期)。 – user2478398

相關問題