Ruby добавляет дату 2000-01-01 для типа столбца «время» в mysql

как получить только время без даты ruby + продолжение для типа time в MYSQL? ruby добавляет дополнительную дату '2000-01-01' со временем для column type «времени» в MySQL. если время '00:01:01', то ruby ​​дает '2000-01-01 00:01:01 +530' в ответ с продолжением.


person Dileep Nunna    schedule 26.10.2015    source источник
comment
Можете ли вы опубликовать свой код, показывающий, как вы получаете доступ к данным?   -  person RossMc    schedule 26.10.2015
comment
response = databasename.where([Sequel.qualify(:portalcdrs, :start_time) › starttime], Sequel.qualify(:portalcdrs, :end_time) ‹ endtime, :flowid =› flowid).all.map { |h| h.значения }   -  person Dileep Nunna    schedule 26.10.2015


Ответы (1)


Вы не можете специально выбрать получение времени из этого объекта, но вы можете использовать DateTime#strftime, чтобы просто отобразить нужные вам значения.

>> t = Time.now
=> 2015-10-26 09:08:31 +0000

>> t.strftime("%H:%M:%S")
=> "09:08:31"

Не похоже, что вы можете исключить элемент даты из-за того, как Ruby работает со временем, см. здесь.

person RossMc    schedule 26.10.2015
comment
но тип столбца в mysql - это только время, а значение - «00:00:08». почему он отображается с датой типа «2000-01-01 00:01:08 +530». как t.strftime в последующем ответе для всех столбцов? - person Dileep Nunna; 26.10.2015
comment
У вас есть детали таблицы и столбцов? - person RossMc; 26.10.2015
comment
да, в mysql есть столбец продолжительности с типом «время». я хочу применить strftime для всех столбцов. - person Dileep Nunna; 26.10.2015
comment
мой запрос: 'esponse = databasename.where([Sequel.qualify(:portalcdrs, :start_time) › starttime], Sequel.qualify(:portalcdrs, :end_time) ‹ endtime, :flowid =› flowid).all.map { | ч | h.значения}'. как применить strftime для столбца продолжительности. - person Dileep Nunna; 26.10.2015
comment
результат.каждый { |х| x[:column_name] = x[:column_name].to_f } - person Dileep Nunna; 27.10.2015