2017-01-08 1 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