Ruby – 更改Time实例的日期部分

前端之家收集整理的这篇文章主要介绍了Ruby – 更改Time实例的日期部分前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个Time实例curr_time,其值为Time.now和另一个具有值为“2010年4月17日”的String target_date.如何将变量curr_time中的日期部分更改为target_date的值?
>> curr_time
=> Sun Feb 21 23:37:27 +0530 2010
>> target_date
=> "Apr 17,2010"

我想要curr_time改变如下:

>> curr_time
=> Sat Apr 17 23:37:27 +0530 2010

如何实现这一点?

解决方法

时间对象是不可变的,所以你必须用所需的值创建一个新的Time对象.喜欢这个:
require 'time'
target = Time.parse(target_date)
curr_time = Time.mktime(target.year,target.month,target.day,curr_time.hour,curr_time.min)

猜你在找的Ruby相关文章