首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将格式错误的字符串转换为日期时间?

如何将格式错误的字符串转换为日期时间?
EN

Stack Overflow用户
提问于 2021-02-04 15:34:43
回答 1查看 36关注 0票数 0

我对此非常陌生,所以如果这是非常基本的,我很抱歉!

我正在尝试将CSV文件放入数据库。我的问题是,它没有正确地引入CSV的时间部分。这是我到目前为止所写的。

代码语言:javascript
复制
require 'csv'

desc "Import from CSV"
task :import => [:environment] do
    
    file = "lib/trans_items.csv"

    CSV.foreach(file, :headers => true) do |row|

        sale = Sale.find_or_initialize_by(
            location: row[0],
            trans_number: row[7]
        )
        sale.terminal = row[1],
        sale.customer = row[2],
        sale.license_plate = row[3],
        sale.controller_number = row[4],
        sale.complete_time = row[5],
        sale.status = row[6],
        sale.cashier = row[8],
        sale.greeter = row[9],
        sale.item_name = row[10],
        sale.item_department = row[11],
        sale.item_quantity = row[12],
        sale.item_amount = row[13],
        sale.discounts = row[14],
        sale.tax = row[15],
        sale.total = row[16]
        sale.save
    end
end

CSV的日期如下:“01/29/2021-6:55 PM (CST)”。

当我尝试使用to_datetime和其他日期时间方法时,我得到" date ::Error (无效日期)“。

在将字符串传递到数据库之前,我正在寻找一种将该字符串转换为正确格式的方法。

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-04 20:44:44

我解决了这个问题。这是我使用的代码。“”“sale.complete_time = DateTime.strptime(row5,'%m/%d/%Y - %I:%M %p (%z)')‘“

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66048797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档