日期函數(Power Query 之 M 語言)


表示

日期表示法:

  = #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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM