2017-02-15 10 views
2

Я работаю над проектом с использованием Ruby 2.2 и Rails 4 и базы данных sqlite, в которых неверно рассчитана разница во времени.Временная разница ошибочно вычисляется в Rails 4

Я использовал метод TimeDifference для этой цели.

В моей базе данных есть таблица MachineAttendance.

InTime хранится в Втр, 12 Feb 2017 20:30:00 UTC +00: 00

OutTime хранится в Втр, 12 Feb 2017 05:30:00 UTC +00: 00

@c1.in_time.strftime("%I:%M %p") 

"08:30 PM" 

@c1.out_time.strftime("%I:%M %p") 

"05:30 AM" 

And my method is 

time_diff=TimeDifference.between(@c1.in_time.strftime('%H:%M:%S'), @c1.out_time.strftime('%H:%M:%S')).in_hours.to_f 

its giving 15.0 hrs which is wrong 

as it should be 9.0 hrs. 

будет кто-нибудь, дайте мне знать, как может я получить правильное значение ..... спасибо :)

ответ

2

Вы можете попробовать ниже его работы для меня

Time.at((@[email protected]_time).round.abs).utc.strftime "%H:%M" 

Он вернет время как «09:00»

+0

Не знаю, почему его не работает для меня. –

+0

один раз это сработало ... но теперь его не работает. –

+0

Tnx это сработало для меня. :) –