DateTime类常用函数总结

函数名解释
DateTime.FromText从文本表示的Text返回日期时间
Date.FromText从文本表示的Text返回日期
Time.FromText从文本表示的Text返回时间
DateTime.From将给定的value返回日期时间
Date.From将给定的value返回日期
Time.From将给定的value返回时间
DateTime.ToText返回指定文本样式的日期时间
Date.ToText返回指定文本样式的日期
Time.ToText返回指定文本样式的日期
Date.Year返回日期的年份
Date.Month返回日期的月份
Date.Day返回日期的日部分
Date.QuarterOfYear返回季度数
Date.DayOfWeekName返回一周的第几天
Date.DayOfWeek返回一周中的天数
Date.WeekOfMonth返回当天属于当月第几周
Date.WeekOfYear返回当天属于当年第几周
Date.DaysInMonth返回当月的总天数
Date.DayOfYear返回当天是一年中的第几天
Date.AddDays返回若干天数前后的新日期
Date.AddMonths返回若干个月前后的新日期
Date.AddQuarters返回若干季度前后的新日期
Date.AddWeeks返回若干周前后的新日期
Date.AddYears返回若干年前后的新日期
Time.Hour返回时间的小时
Time.Minute返回时间的分钟
Time.Second返回时间的秒钟
DateTime.Date返回日期时间的日期部分
DateTime.Time返回日期时间的时间部分
DateTime.LocalNow返回当前系统日期时间的动态值
DateTime.FixedLocalNow返回当前系统日期时间的固定值
Date.EndOfMonth返回当月的结束值

10 Replies to “DateTime类常用函数总结”

  1. 大神,请教下,在PowerQuery里面,怎样实现求月份间隔的效果呢?PowerQuery并没有Excel的DateDif,PowerPivot的DateDiff

    1. 首先excel中的datedif是有bug的,如2017/3/31和2017/4/30都是月底,间隔应该是一整月,但datedif结果为0,涉及月头月尾的计算结果都不会太准确,所以一直作为隐藏函数。
      在Power Query中也可以模拟类似的功能,可以用一个循环来自定义函数= (s,e)=>List.Generate(()=>1,each Date.AddMonths(s,_)<=e,each _+1)。循环起始值为1,如果起始日期加上1个月还比终止日期小,那么循环起始值+1=2,再用起始日期加上2个月和终止日期比,一直循环直到大于终止日期。 当然模拟一个有bug的函数结果出来肯定还是有bug,但是由于过程是我们自己定义的,所以可以根据实际需求稍作修改,注意月头月尾。

    1. 这个你看下函数帮助说明就知道了,第二参数默认是Day.Sunday,改成Day.Monday就是从周一了,或者可以用数字1来表示,默认是0

  2. 在excel中年月日都是增加来改的,PQ中提供了Date.Add类函数基本可以满足日期前后的需要,但还是想好奇的问下:PQ中目前时间的前几小时或分钟怎么来算?

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注