1.比普通公式更簡(jiǎn)單
日期具有年它匕,月,周窖认,日豫柬,時(shí),分扑浸,秒烧给,毫秒等狀態(tài)。還需要能以任何單位對(duì)狀態(tài)進(jìn)行移動(dòng)和設(shè)置喝噪。還需要能計(jì)算差值等础嫡。用普通的函數(shù)實(shí)現(xiàn)這些功能,寫(xiě)起來(lái)會(huì)非常復(fù)雜酝惧,也不易讀懂榴鼎。
例如:A1格是一個(gè)日期伯诬,B1格希望是 1年,1月檬贰,1日,1時(shí)姑廉,1分,1秒之后的日期翁涤,就需要寫(xiě)成
Date.addYear(Date.addMonth(Date.addDay(
Date.addHour(Date.addMinute(Date.addSecond(A1,1),1),1),1),1))
為了解決這個(gè)問(wèn)題桥言,我們認(rèn)為日期是一個(gè)具有狀態(tài)和操作的整體,可以在后面用 小圓點(diǎn) 提示出狀態(tài)(成員屬性)和行為(成員函數(shù))葵礼。
因?yàn)槎鄶?shù)修改狀態(tài)的日期成員函數(shù)号阿,返回的是日期本身。這樣就可以一口氣寫(xiě)下去了鸳粉。
如上例B1格的值就是:
//A1的日期往后推1年扔涧,1月,1日届谈,1時(shí)枯夜,1分,1秒之后的日期艰山。
=A1.addYear(1).addMonth(1).addDay(1)
.addHour(1).addMinute(1).addSecond(1)
/*當(dāng)前時(shí)間的時(shí)分秒毫秒都設(shè)置為0湖雹,也是Date.today().*/
=Date.now().setHour(0).setMinute(0).setSencond(0).setMilliSecond(0)//
2.對(duì)象公式的輸入過(guò)程
輸入=Date.
=Date.now()
繼續(xù)輸入小圓點(diǎn),選擇日期對(duì)象的屬性或者函數(shù)曙搬。
=Date.now().minute
如果選擇其他屬性摔吏,那么就能得到其他屬性了。例如:
-
=Date.now().year
:當(dāng)前年數(shù) -
=Date.now().hour
:當(dāng)前小時(shí)數(shù) -
=Date.now().second
:當(dāng)前秒數(shù)
3.日期對(duì)象可以從哪里拿
-
返回值是日期類(lèi)型的靜態(tài)函數(shù)纵装。
-
Date.today()
返回表示今天零點(diǎn)的日期對(duì)象征讲。 -
Date.now()
返回表示當(dāng)前時(shí)間的日期對(duì)象。 -
Date.parseDate("2014-10-13")
返回表示2014年10月13日的日期對(duì)象橡娄。
-
-
返回值是日期類(lèi)型的成員函數(shù)(所有修改自身狀態(tài)的成員函數(shù)都是返回修改后的日期)诗箍。
-
Date.today().addDay(1)
返回昨天的日期對(duì)象。 -
Date.today().setDay(1).addHour(1)
返回當(dāng)月1號(hào)瀑踢,1點(diǎn)的日期對(duì)象称勋。
-
-
數(shù)據(jù)類(lèi)型為日期類(lèi)型的單元格引用颜说。
例如單元格A1值為:
=Date.parseDate("2018-07-07")
迎吵。
系統(tǒng)會(huì)自動(dòng)設(shè)置A1的 數(shù)據(jù)類(lèi)型 是 日期屋吨,這表示A1是個(gè)日期對(duì)象。
那么輸入=A1.
就能得到日期的成員屬性和函數(shù)的提示了棘劣。例如俏让,可以設(shè)置A2格的值為=A1.addYear(1)
,就得到2019年的7月7日的日期對(duì)象。
這意味著可以用單元格來(lái)存儲(chǔ)日期首昔,把復(fù)雜的計(jì)算拆成多步
- 數(shù)據(jù)類(lèi)型為日期類(lèi)型的頁(yè)面數(shù)據(jù)寡喝。
例如在頁(yè)面數(shù)據(jù)中定義頁(yè)面數(shù)據(jù) “昨天”:(頁(yè)面數(shù)據(jù)名可以用中文,當(dāng)然叫yestoday也可以)
- 輸入公式
=昨天.
可以看到提示勒奇。 -
=昨天.day
:昨天是這個(gè)月的第幾天预鬓。 -
=昨天.month
:昨天是今年的第幾月。 -
=昨天.setHour(10).setMinute(10).setSecond(10)
:表示昨天10點(diǎn)10分10秒的日期對(duì)象赊颠。
5.日期對(duì)象相關(guān)公式介紹
日期對(duì)象的狀態(tài)(成員屬性)包括 :
-
year
:年 -
month
:月格二, -
week
:周, -
day
: 日竣蹦, -
hour
:時(shí)顶猜, -
minute
:分, -
second
:秒痘括, -
milliSecond
:毫秒长窄。
日期對(duì)象的行為(成員函數(shù))包括:
- 加上若干 年/月/日/時(shí)/分/秒/毫秒。 如
addYear(10)
,addMonth(-1)
,addDay(10)
等纲菌。 - 把年/月/日/時(shí)/分/秒/毫秒設(shè)置為n挠日。如
setYear(2020)
,setDay(1)
等。 - 設(shè)置日期為某周/月/季度/年 的 開(kāi)始/結(jié)束翰舌。
weekBegin()
,weekEnd()
,monthBegin
,monthEnd()
,quaterBegin()
,quaterEnd()
等肆资。 - 獲得該月有幾天,該年有幾天灶芝。
daysInWeek
,daysInYear