上圖中,第一列是關於時間的一些概念。後面的列,是各種語言的API中所用到的,關於日期時間的詞語。顯然,這些詞語的使用,很混亂。有些詞語,對應多個概念。如date,可以作為類名,表示一個具體的時間點,也可以表示一個月中的第幾日。再如day,可以表示星期幾,也可以表示一個月中的第幾日。有些概念,會使用多個詞語來表達。如星期幾,Javascript中曰day,java新API中曰day of week,SQL中曰weekday。
在Javascript的API中,日期部分的某個值,是不帶s的,如 getMonth() ,而時間部分,則帶s,如 getSeconds() 。
在我寫的新模塊中,我重新梳理了這些詞語,希望能夠設計出語義更加清晰的API。為了保持一致性,我根據weekDay,生造了monthDay和yearDay這兩個詞語。