我有一个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)