【问题标题】:Ruby date conversion from 10-Aug-14 to dd/mm/yy从 14 年 8 月 10 日到 dd/mm/yy 的 Ruby 日期转换
【发布时间】:2015-04-12 22:07:42
【问题描述】:

我正在读取具有以下格式的日期的 xls 和 csv 文件;

10-Aug-14 

我需要它们是:dd/mm/yyyy (11/08/2014)

尝试了标准 Ruby 日期和时间类的 date_format gem,但没有成功。

检查显示它是一个由 Date 对象和 String 组成的数组;

p date_start  #=> #<Date: -4712-01-01 ((0j,0s,0n),+0s,2299161j)> "11-Aug-14"

puts date_start            #=> -4712-01-01
                           #=> 11-Aug-14

puts date_start.class      #=> Array

puts date_start[0].class   #=> Date

puts date_start[1].class   #=> String

知道如何将其解析为 Ruby 可以理解的日期。 此外,我需要获取两个日期之间的工作日数字,因此正确处理是关键。

【问题讨论】:

  • 能否添加用于读取 CSV 和 Excel 文件的代码?

标签: ruby date


【解决方案1】:

解析日期:

my_date = Date.strptime("10-Aug-14 ", "%d-%b-%y")

转其他格式(dd/mm/yy):

puts my_date.strftime("%d/%m/%Y")

对于工作日计数,您可以使用 'weekdays gem' --> https://github.com/mdarby/weekdays

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-25
    • 2022-01-25
    • 1970-01-01
    • 2022-11-19
    • 2021-12-31
    • 2013-11-30
    相关资源
    最近更新 更多