3

我需要更新 DateTime 中的时间信息。

我得到一个格式为“14”或“14:30”(例如)的字符串,所以我需要将它提供给时间解析器以获得正确的时间。然后我需要更新self.start_at这是一个已经有时间的日期时间,但我需要更新它。

self.start_at_hours = Time.parse(self.start_at_hours) # example 14:30:00
# NEED TO UPDATE self.start_at which is a datetime

我正在使用该change方法,self.start_at但它只需要hourminutes分离,我不确定我该怎么做。

4

2 回答 2

2

你有没有想过做这样的事情?

time_to_merge = Time.new
date_to_merge = Date.today
merged_datetime = DateTime.new(date_to_merge.year, date_to_merge.month,
                               date_to_merge.day, time_to_merge.hour,
                               time_to_merge.min, time_to_merge.sec)
于 2012-06-24T13:43:09.600 回答
0

对于替换时间,该.change()方法应该有效,如下所示:

my_datetime = my_datetime.change(hour: my_time.hour, min: my_time.min, sec: my_time.sec)

要添加时间,请尝试转换为秒,然后添加它们:

my_datetime += my_time.seconds_since_midnight.seconds
于 2014-03-09T20:33:56.940 回答