首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ruby mysql时间戳差异

ruby mysql时间戳差异
EN

Stack Overflow用户
提问于 2017-01-08 23:54:23
回答 1查看 47关注 0票数 0

我正在尝试从mysql中获取本地时间,并用它来减去ruby时间。

代码语言:javascript
复制
from_db = "2017-01-08 15:51:09"    #this is from mysql database LOCALTIMESTAMP() function

在红宝石上,

代码语言:javascript
复制
local_time = Time.now.utc
local_timestamp = local_time.strftime("%Y-%m-%d %H:%M:%S")    #converting to same format of mysql result
diff_time = local_timestamp - from_db  # trying to subtract 

但它失败了,并说下面的错误,

代码语言:javascript
复制
irb(main):001:0> from_db = "2017-01-08 15:45:09"
=> "2017-01-08 15:45:09"
irb(main):002:0> local_time = Time.now.utc
=> Sun Jan 08 15:52:45 UTC 2017
irb(main):003:0> local_timestamp = local_time.strftime("%Y-%m-%d %H:%M:%S")
=> "2017-01-08 15:52:45"
irb(main):004:0> diff_time = local_timestamp - from_db
NoMethodError: undefined method `-' for "2017-01-08 15:52:45":String
        from (irb):4
        from :0
irb(main):005:0>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-09 00:06:04

您应该从数据库中解析时间,然后使用time对象而不是字符串执行操作:

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

from_db = Time.parse("2017-01-08 15:51:09").utc
local_time = Time.now.utc

diff_time = local_timestamp - from_db
=> 11667.904242 #seconds
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41534576

复制
相关文章

相似问题

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