代码之家  ›  专栏  ›  技术社区  ›  Rares R

分析Ruby中的日期字符串

  •  0
  • Rares R  · 技术社区  · 6 年前

    目前我正在实现一个特性并使用一个外部API。API返回以下结构

    {"StartDate"=>"/Date(1532563200000+0000)/", "ExpirationDate"=>"/Date(1564099200000+0000)/"}
    

    我不知道怎么解析 StartDate ExpirationDate 获取Ruby时间格式的值。

    欢迎反馈。

    2 回复  |  直到 6 年前
        1
  •  2
  •   AbM    6 年前

    Time.zone.at

    response = {"StartDate"=>"/Date(1532563200000+0000)/", "ExpirationDate"=>"/Date(1564099200000+0000)/"}
    
    start_date = Time.zone.at(response['StartDate'][6..15].to_i)
    #=> Wed, 25 Jul 2018 20:00:00 EDT -04:00
    
    expiration_date = Time.zone.at(response['ExpirationDate'][6..15].to_i)
    #=> Thu, 25 Jul 2019 20:00:00 EDT -04:00
    
        2
  •  0
  •   iGian    6 年前

    require 'date'
    response.transform_values! { |date| Time.at(date[6..15].to_i).utc.to_datetime }
    

    transform_values

    response.inject({}) { |h, (k, v)| h[k] = Time.at(v[6..15].to_i).utc.to_datetime; h }
    

    https://stackoverflow.com/a/812551