2012-04-10 3 views
0

두 개의 특성 start_timeend_time이 있습니다.DateTime 필드의 병합 구성 요소

start_time 입력을 위해 입력 한 날짜 (시간 제외)를 end_time 필드에 포함하려면 어떻게해야합니까? (시작 + 종료 시간은 같은 날에 발생하므로 사용자에게 메시지가 표시되지 않습니다. 그것을 두 번 입력).

보기 : 어떤 도움을 주시면 감사하겠습니다

<div class="day"> 
    <div class="field"> 
     <%= f.label :start_time, "Date" %> 
     <%= f.date_select :start_time,:default => Time.now+1.week, :order => [:month, :day, :year], :ampm => true %> 
    </div> 
    <div class="field"> 
     <%= f.label :start_time, "Start Time" %> 
     <%= f.time_select :start_time, :ignore_date => true, :minute_step => 15, :ampm => true, :default => Time.now.beginning_of_day + 9.hours %> 
    </div> 
    <div class="field"> 
     <%= f.label :end_time, "End Time" %> 
     <%= f.time_select :end_time, :minute_step => 15, :ampm => true, :default => Time.now.beginning_of_day + 15.hours %> 
    </div> 
    <%= link_to_function "Remove this day", "remove_fields(this)" %> 
</div> 

.

답변

1

실제로 이렇게하는 데는 깔끔한 방법이 없습니다. 당신은 개별 구성 요소를 추출해야합니다

t1 = start_time 
t2 = end_time 
t2 = Time.local(t1.year,t1.month,t1.day,t2.hour,t2.min,t2.sec).in_time_zone 

당신이에서 작업중인 시간대에주의 당신은 Time.utc 대신 Time.local을 사용해야 할 수도 있습니다..

관련 문제