日期函数(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

posted @ 2022-02-07 21:55  熬肥妖  阅读(6110)  评论(0编辑  收藏  举报