【问题标题】:Pig Latin yyyyww猪拉丁语 yyyyww
【发布时间】:2017-11-02 22:04:55
【问题描述】:

我想将 Pig 中的年周 (yyyyww) 转换为 yyyyMMdd 以获取给定一周的第一个日期。这就是我正在尝试并得到奇怪输出的方法。

ToString(ToDate('20171102', 'yyyyMMdd'), 'yyyyww') as c1

返回201744。这意味着 2017 年 11 月 2 日是 2017 年的第 44 周。但是当我反过来做时,输出很奇怪。

ToString(ToDate('201744', 'yyyyww'), 'yyyyMMdd')

返回20161031。其中表示 2017 年第 44 周的第一个日期是 2016 年 10 月 31 日。

我在这里做错了什么?

【问题讨论】:

    标签: apache-pig


    【解决方案1】:

    对于 2017 年,第 44 周是从 10 月 30 日到 11 月 5 日。

    在第一种情况下,即 11 月 2 日从 10 月 30 日到 11 月 5 日,您将看到第 44 周。

    在第二种情况下,您会看到一周的开始日期,这就是您要查找的日期。

    【讨论】:

      猜你喜欢
      • 2023-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多