【问题标题】:Perl - Create date range looking at 3 fieldsPerl - 创建查看 3 个字段的日期范围
【发布时间】:2010-04-29 17:51:51
【问题描述】:

我有 3 列数据:

Item    |   CreateDate  | Version | 
ABC  |     1/1/2010  |  X      |
ABC  |     3/15/2010 |  XB     |
BBB  |     2/15/2010 |  X      |
BBB  |     6/15/2010 |  X      |

我如何填充名为“版本开始”和“版本结束”的额外两列数据,它们将根据 CreateDates 计算给定项目的版本的开始日期和版本的结束日期。

Item    |   CreateDate  | Version   |   Version Start   |   Version End
ABC  |     1/1/2010  |  X        |     1/1/2010      |    3/14/2010
ABC  |     3/15/2010 |  XB       |     3/15/2010     |    (04/29/2010)Today
BBB  |     2/15/2010 |  X        |     2/15/2010     |    (04/29/2010)Today  
BBB  |     6/15/2010 |  X        |     2/15/2010     |    (04/29/2010)Today  

【问题讨论】:

  • 如果您对格式有任何控制权,我建议切换到 ISO 8601 格式以减少歧义。几乎 40% (144/365) 的日期在美国和英国 (d/m/y) 格式之间不明确。 ISO 8601 也可以按字母数字排序,这很好。

标签: perl date-range


【解决方案1】:

您可以使用 Date::Calc 的 Add_Delta_Days 函数来确定版本结束日期,假设它是版本开始日期之后的特定天数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-03
    • 1970-01-01
    相关资源
    最近更新 更多