在 Hive 中获取日期的一周(一周开始)

Getting Week Of Date (Week Beginning) in Hive

我目前有一个带有日期和 returns 星期日开始日期的代码。我想要的是获得星期一开始日期,而不是像 weekofyear() 函数。

下面是我当前的代码,其中 evt_time 是我的日期时间变量:

date_sub(evt_time,pmod(datediff(to_date(evt_time),'1900-01-07'),7))

例如,我希望将 6/4/2018-6/10/2018 分组到 6/4/2018。

使用 u 参数获取工作日,然后使用算术得到周开始日期为星期一。

select date_add(to_date(evt_time)
                ,1-cast(from_unixtime(unix_timestamp(to_date(evt_time),'yyyy-MM-dd'),'u') as int))