如何仅在Rails中使用Time Data类型?

时间:2018-02-12 10:21:00

标签: mysql ruby-on-rails

我在rails迁移中使用time作为数据类型,但是当我在模型中检索它时  它包括日期。我希望能够在没有日期的情况下计算时差。 我能以任何方式让我的模型返回时间吗? 我想要<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <LinearLayout android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:orientation="vertical"> ... </LinearLayout> ... </LinearLayout> 而不是03:15:00

2 个答案:

答案 0 :(得分:1)

如果要将Datetime对象转换为Time对象,可以使用Time.parse

date_and_time = Time.now               # 2000-01-01 05:54:42
time_only = Time.parse(date_and_time)  # 05:54:42

答案 1 :(得分:0)

如果在数据库迁移中使用time数据类型,则应该没问题。 Rails使用默认值填充缺少的字段(在本例中为年,月,日),因为数据类型需要它们。由于所有响应都获得这些默认值,因此您应该能够计算没有日期的时间差,因为所有值都具有相同的默认值。如果您希望以您希望的格式返回字符串时间,可以使用#strftime方法。

例如:

time.strftime('%H:%M:%S')