저는 작업과 스프레드 시트를 사용하여 Excel 스프레드 시트를 데이터베이스에 읽습니다. 내가 읽는 칼럼 중 하나는 "start_time"입니다. 이를 위해 배열 값을 구성한 다음 각 배열 값을 하나씩 전달합니다.UTC 시간이 2000-01-01 (루비)로 재설정됩니다. 시간을 재설정하지 못하게하려면 어떻게합니까?
cnum_array = [] # for start times
sheet1.each 3 do |row|
unless row[9].blank?
time = Time.parse(row[9])
cnum_array << time.utc
end
end
count = 0
for course in Course.all
course.update_attribute :start_time, cnum_array[count]
count += 1
end
이것은 제대로 작동하는 것 같습니다. 이 마지막 루프 내에 "puts course.start_time"문을 삽입하면 올바른 시간에 인쇄됩니다. 좋아요 :
count = 0
for course in Course.all
course.update_attribute :start_time, cnum_array[count]
puts course.start_time
count += 1
end
이렇게하면 적절한 시간이 표시됩니다. "2012-01-23 15:30:00."
하지만 나중에 (예 : 내 콘솔의 Course.find (1) .start_time을 통해) 코스 시간을 조회하면 '2000-01-01 15:20:00'이라고 표시됩니다. 하루 중 시간대는 맞지만 하루는 2000-01-01으로 돌아갑니다.
왜 이런 일이 일어나는 지 알고 있으며 어떻게 해결할 수 있습니까? 감사!
예, 열 시간을 datetime으로 변경했습니다. 매우 감사합니다! – jyli7