表示
日期表示法:
= #date(年,月,日)
參數不能超出限制
增減
日期的增減:
= Date.AddDays(日期, 增減的天數)
月份的增減:
= Date.AddMonths(日期, 增減的月數)
季度的增減:
= Date.AddQuarters(日期, 增減的季數)
周的增減:
= Date.AddWeeks(日期, 增減的周數)
年的增減:
= Date.AddYears(日期, 增減的年數)
提取日期中的元素
日期中的日:
= Date.Day(日期)
日期所在的星期(數字):
= Date.DayOfWeek(日期, 周起始)
周起始
0:周日0、周一為1、周二為2……
1或缺省:周一為0
2:周二為0
3:周三為0
4:周四為0
5:周五為0
6:周六為0
日期所在的星期(文本):
= Date.DayOfWeekName(日期, "國家")
國家
zh-cn或中文版缺省:星期一、星期二……
en-us:Monday、Tuesday……
日期所在的月:
= Date.Month(日期)
日期所在的月份名稱(文本):
= Date.MonthName(日期, "國家")
默認中文數字月(簡體中文版Excel)
日期所在月的最大天數:
= Date.DaysInMonth(日期)
日期所在月的第幾周
= Date.WeekOfMonth(日期, 周起始)
周起始:
0:周日為起始
1或缺省:周一為起始
……
日期所在的季度
= Date.QuarterOfYear(日期)
日期所在年
= Date.Year(日期)
日期所在年的第幾天
= Date.DayOfYear(日期)
日期所在年的第幾周
= Date.WeekOfYear(日期, 周起始)
起始與結束
當天的起始:
= Date.StartOfDay(日期)
當天的最后一刻:
= Date.EndOfDay(日期)
當周的起始:
= Date.StartOfWeek(日期,周起始)
周起始:
0:周日為起始
1或缺省:周一為起始
……
當周的最后一天(一刻):
= Date.EndOfWeek(日期,周起始)
當月的起始:
= Date.StartOfMonth(日期)
當月的最后一天(一刻):
= Date.EndOfMonth(日期)
當季的起始:
= Date.StartOfQuarter(日期)
當季的最后一天(一刻):
= Date.EndOfQuarter(日期)
當年的起始:
= Date.StartOfYear(日期)
當年的最后一天(一刻):
= Date.EndOfYear(日期)
轉換
轉換成完整年月日:
= Date.From(日期/日期時間/日期時間時區/數值/文本型日期, "國家")
默認為短日期類型
示例:
= Date.From(42401) 2016-2-1
= Date.From(#datetime(2016,2,1,15,16,17)) 2016-2-1
= Date.From("2016-2-1") 2016-2-1
文本型日期轉換為真日期:
= Date.FromText(文本型日期, [格式, 國家])
示例:
= Date.FromText("2021-12-31") 2021-12-31
= Date.FromText("2021.12.31") 2021-12-31
= Date.FromText("12.31.2021") 2021-12-31
= Date.FromText("20211231") 2021-12-31
= Date.FromText("2021年12月31日") 2021-12-31
= Date.FromText("2021年12月") 2021-12-1
= Date.FromText("2021-12") 2021-12-1
= Date.FromText("2021") 2021-1-1
= Date.FromText("2021年") 2021-1-1
= Date.FromText("12-31") 2022(當年)-12-31
= Date.FromText("12月31日") 2022(當年)-12-31
(日期間隔符號與windows中設置同)
真日期轉成文本型日期:
= Date.ToText(日期, [格式, 國家] )
示例:
= Date.ToText(#date(2022, 3, 15), [Format="yyyy-MM", Culture="zh-cn"]) "2022-03"
日期轉換成包括年、月、日的記錄
= Date.ToRecord(日期)
判斷
是否是日期:
日期 is date
指定日期是否在:
當前的:
天:= Date.IsInCurrentDay(日期)
周:= Date.IsInCurrentWeek(日期)
月:= Date.IsInCurrentMonth(日期)
季:= Date.IsInCurrentQuarter(日期)
年:= Date.IsInCurrentYear(日期)
是否閏年:= Date.IsLeapYear(日期)
之后的:
天:= Date.IsInNextDay(日期)
周:= Date.IsInNextWeek(日期)
月:= Date.IsInNextMonth(日期)
季:= Date.IsInNextQuarter(日期)
年:= Date.IsInNextYear(日期)
之后的若干:
天:= Date.IsInNextNDays(日期, 天數 )
周:= Date.IsInNextNWeeks(日期, 周數 )
月:= Date.IsInNextNMonths(日期, 月數 )
季:= Date.IsInNextNQuarters(日期, 季數)
年:= Date.IsInNextNYears(日期, 年數)
之前的:
天:= Date.IsInPreviousDay(日期)
周:= Date.IsInPreviousWeek(日期)
月:= Date.IsInPreviousMonth(日期)
季:= Date.IsInPreviousQuarter(日期)
年:= Date.IsInPreviousYear(日期)
今年內今天和今天之前:= Date.IsInYearToDate(日期)
之前的若干:
天:= Date.IsInPreviousNDays(日期, 天數)
周:= Date.IsInPreviousNWeeks(日期, 周數)
月:= Date.IsInPreviousNMonths(日期, 月數)
季:= Date.IsInPreviousNQuarters(日期, 季數)
年:= Date.IsInPreviousNYears(日期, 年數)
示例:
假設系統當前日期是2022-3-16
= Date.IsInCurrentDay( #date( 2022, 3, 16))返回true,其他日期返回false
= Date.IsInNextDay( #date( 2022, 3, 17))返回true,其他日期返回false
= Date.IsInPreviousDay( #date( 2022, 3, 15))返回true,其他日期返回false
= Date.IsInNextNDays( #date( 2022, 3, 17), 2) 和 = Date.IsInNextNDays( #date( 2022, 3, 18), 2)返回true,其他日期返回false
= Date.IsInPreviousNDays( #date( 2022, 3, 15), 2) 和 = Date.IsInPreviousNDays( #date( 2022, 3, 14), 2)返回true,其他日期返回false
日期參數
星期日:Day.Sunday
星期一:Day.Monday
星期二:Day.Tuesday
星期三:Day.Wednesday
星期四:Day.Thursday
星期五:Day.Friday
星期六:Day.Saturday