2017-01-08 8 views
0

私はmysqlから現地時間を取得しようとしており、それを使ってルビ時間を引いています。ルビーの ruby​​ mysqlタイムスタンプの違い

from_db = "2017-01-08 15:51:09" #this is from mysql database LOCALTIMESTAMP() function 

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 

が、そのあなたは、データベースからの時間を解析し、時間と操作を行う必要があります

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> 

答えて

1

、失敗し、エラーの下に言って、文字列の代わりにオブジェクト:

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 
+0

@IIyaそれは働いた。ありがとう! – Karthi1234

関連する問題