Подтвердить что ты не робот

Можете ли вы иметь время без даты в рельсах?

Я пытаюсь импортировать некоторые данные из плоского файла и получаю некоторые нечетные результаты. При импорте времени, которое не привязано к дате, почему я также получаю дату, вставленную в это время?

1.9.3-p286 :008 > v.arrival_time = Time.parse("10:10")
 => 2012-11-06 10:10:00 -0400

Я предполагаю, что есть только способ сохранить дату сам по себе, но никоим образом не сохранить время самостоятельно, несмотря на активный тип столбца записи: время. Есть ли способ их разделить, например:

1.9.3-p286 :002 > Date.parse("JAN 01 2000")
 => Sat, 01 Jan 2000 
4b9b3361

Ответ 1

Объект Time в Ruby использует " Unix Time "для хранения временных точек в секундах с 1 января 1970 года 00:00 UTC. Различные методы, такие как strftime, просто изменяют формат вывода, но не как объект хранится внутри.

Итак, у вас есть решение сделать: сохранить импортированные данные как объект Time и помнить о том, что он на самом деле содержит, или импортировать ваши данные в виде строки, но отказаться от всех прекрасных полезных функций Time.

Ответ 2

Там этот драгоценный камень tod, TimeOfDay, который обеспечивает функциональные возможности, как это.

https://github.com/JackC/tod