前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何在Power Query中提取数据?——时间篇(2)

如何在Power Query中提取数据?——时间篇(2)

作者头像
逍遥之
发布2020-03-23 16:33:49
3.3K0
发布2020-03-23 16:33:49
举报
文章被收录于专栏:数据技巧数据技巧

今天我们继续来了解下,在Power Query中如何提取需要的时间。

1. 获取当前时间

DateTime.LocalNow() 类似Excel中的Now函数

DateTime.FixedLocalNow() 这个函数虽然解释是能够固定数值,但是目前还没找到前提条件,如果有高手能够解释下固定时间的前提操作,忘告知。

2. 提取秒

Time.Second(datetime as any) as number

返回的是秒的数字格式,因为涉及到最小单位毫秒,所以这个数值可以是小数。

Time.Second(#datetime(2018,11,11,0,22,0.5))=0.5

Time.Second(#datetimezone(1,1,1,1,0,0.5,0,0))=0.5

Duration.Seconds(duration as nullable duration) as nullable number

返回的是秒的数字格式。

Duration.Seconds(#duration(0,0,0,50.55))=50.55

Duration.TotalSeconds(duration as nullable duration) as nullable number

返回的是秒的数字格式。

Duration.TotalSeconds(#duration(0,0,1,0))=60

3. 提取分钟

Time.Minute(datetime as any) as nullable number 返回的是分钟的数字格式0-60

Time.Minute(#datetime(2018, 12, 31, 9, 15, 1))=1

Duration.Minutes(duration as nullable duration) as nullable number

返回的是分钟的数字格式(如果是秒换算,计算方式是往下舍入)

Duration.Minutes(#duration(0,0,0,119))=1

Duration.TotalMinutes(duration as nullable duration) as nullable number

返回持续时间的总分钟数。

Duration.TotalMinutes(#duration(0,1,0,0))=60

DateTimeZone.ZoneMinutes(datetimezone as nullable datetimezone) as nullable number

提取时间区域的分钟数,请注意,提取的分钟数是除60后的余数

DateTimeZone.ZoneMinutes(#datetimezone(2018, 11, 15, 0, 0, 0, 8, 61))=1

4. 提取小时

Time.Hour(datetime as any) as nullable number

Time.Hour(#datetime(2018,11,11,15,0,0))=15

Time.StartOfHour(datetime as any) as any

返回的是小时初始值,返回的格式是提取数据的格式

Time.StartOfHour(#datetime(2018,11,11,12,30,30))=2018/11/11 12:00:00

Time.EndOfHour(datetime as any) as any

返回的是小时初始值,返回的格式是提取数据的格式

Time.EndOfHour(#datetime(2018,11,11,12,30,30))=2018-11-11T12:59:59.9999999

Duration.Hours(duration as nullable duration) as nullable number

返回的是数字格式,向下舍去计算小时,如果是小时位则除24后取整。

Duration.Hours(#duration(0,1,60,0))=2

Duration.Hours(#duration(0,23,60,0))=0

Duration.TotalHours(duration as nullable duration) as nullable number

返回持续时间的总小时,可以为小数。

= Duration.TotalHours(#duration(1,0,30,0))=24.5

DateTimeZone.ZoneHours(datetimezone as nullable datetimezone) as nullable number

提取时间区域的小时数,请注意,提取的偏移小时数

DateTimeZone.ZoneHours(#datetimezone(2018, 11, 15, 0, 0, 0, 8, 61))=9

5. 提取星期

Date.DayOfWeek(datetime as any, optional firstDayofWeek as nullable Day.Type) as nullable number

提取的是一个数值0-6,第2个参数是设置星期从那天开始,默认是从星期一开始算起(参数1)。第二参数为数值0-6

Date.DayOfWeek(#date(2018,11,11))=6

解释:从星期一开始算的第7天(因为从0开始,6代表星期一之后的6天,也就是星期日)

Date.DayOfWeek(#date(2018,11,11),0)=0

解释:从星期日开始算的第0天,0代表当天,也就是星期日。

Date.DayOfWeek(#date(2018,11,11),3)=4

解释:从星期四开始算的之后3天,也就是星期日。

Date.DayOfWeekName(date as any, optional culture as nullable text) as nullable text

返回星期的名称文本,第二参数可以选择国家地区。

Date.DayOfWeekName(#date(2018,11,11),"ru")=воскресенье

Date.DayOfWeekName(#date(2018,11,11),"cn")=星期日

Date.DayOfWeekName(#date(2018,11,11),"en")=Sunday

Date.WeekOfYear(datetime as any, optional firstDayOfWeek as nullable Day.Type) as nullable number

返回属于年份的哪一周,结果为数字1-53;第2参数可以选择指定星期几为初始值,参数为0-6,0代表星期日。

Date.WeekOfYear(#date(2018,1,6),1)=1

解释:因为2018年1月6日正常应该是周六,如果从周一开始计算,这个为第1周。

Date.WeekOfYear(#date(2018,1,6),3)=2

解释:因为是从数字3,也就是星期四开始计算,个人理解是以星期四为从上周四到本周三为一个区间,所处的1,2,3号都处于第一周,从4号开始都处于第二周。

Date.WeekOfMonth(datetime as any, optional firstDayofWeek as nullable Day.Type) as nullable number

返回所处月份中的第几周,返回的是1-5的数字。第2参数可以选择指定星期几为初始值,参数为0-6,0代表星期日。

Date.WeekOfMonth(#date(2018,11,11),1)=2

Date.WeekOfMonth(#date(2018,11,11),0)=3

Date.StartOfWeek(datetime as any, optional firstDayOfWeek as nullable Day.Type) as any

返回当期星期初始时间,第2参数可以选择指定星期几为初始值,参数为0-6,0代表星期日。返回的格式为原始日期数据格式。

Date.StartOfWeek(#date(2018,11,11))=2018/11/5 星期一

Date.StartOfWeek(#datetime(2018,11,11,20,0,30))=2018/11/5 星期一 上午 12:00:00

Date.EndOfWeek(datetime as any, optional firstDayOfWeek as nullable Day.Type) as any

返回当期星期初始时间,第2参数可以选择指定星期几为初始值,参数为0-6,0代表星期日。返回的格式为原始日期数据格式。

Date.EndOfWeek(#date(2018,11,11))=2018/11/11 星期日

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-11-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据技巧 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档