2014-10-09 5 views
0

필드에서 날짜와 시간은 "10/9/2014 7:43 PM"과 같이 설정됩니다.날짜/시간 필드에서 시간 지우기

시간을 제거하고 오늘 날짜와 비교할 수 있도록 날짜 만 필요합니다. 나는 단지 "10/9/2014" 만 원한다.

누구든지 어떻게 할 수 있습니까?

+0

이 전혀 Watir과 관련이 없습니다 할 수있는, 순수한 루비입니다. –

+1

* * 필드는 어디에 있습니까? 형태로? 데이터베이스에? 그냥 문자열이야? –

답변

2

문자열 또는 DateTime 개체입니까? 이 DateTime 개체를 만약

, 단지 날짜로 변환 할 것이다 to_date을 사용합니다 단지 split에게, 그것은 문자열의 경우

myDate.to_date 

을하고 첫 번째 부분 얻을 : 나는 '

"10/9/2014 7:43 PM".split(' ').first 
=> "10/9/2014" 
1

을 해야 할 일

require 'date' 
date = Date.parse "10/9/2014 7:43 PM" 
# => #<Date: 2014-09-10 ((2456911j,0s,0n),+0s,2299161j)> 
date.to_s # => "2014-09-10" 

다른 방법으로 Date::strptime

date = Date.strptime("10/9/2014 7:43 PM", "%d/%m/%Y %l:%M %p") 
# => #<Date: 2014-09-10 ((2456911j,0s,0n),+0s,2299161j)> 
date.to_s # => "2014-09-10" 
+0

'strptime '을 사용하는 것이 더 안전합니다. 왜냐하면'parse'가 미국 날짜와 혼동되기 쉽기 때문입니다. –

+0

나는 100 %에 동의한다. 그래서 그것을 추가하는 것으로 생각했다. :-) –

+0

그 경우 strptime은 특정 형식을 요구하는 구문 분석을하는 경우 쓸모가 없다. 문자열을 유지하는 데 훨씬 더 효과적이다. – tomsoft

0

당신은 날짜를 포맷 할 수 있습니다 :

d = DateTime.new(2014, 10, 9, 7, 43, 0) 
d.strftime("%m/%d/%Y") -> Gives "10/09/2014 

을하거나 d.strftime("%D")