programing

mysql 비교에 적합한 루비 날짜 시간

shortcode 2023. 7. 22. 12:48
반응형

mysql 비교에 적합한 루비 날짜 시간

Rails는 MySql에 정확하게 포맷된 날짜 시간을 자동으로 삽입하는 데 도움이 되었습니다. 제가 많은 생각을 할 필요가 없었습니다.

그러나 유효성 검사를 수행하려면 저장된 mysql datetime 값(즉, 2008-07-02 18:00:00)이 "지금"보다 크거나 작은지 확인해야 합니다.전화할 수 있습니다DateTime.now또는Time.now하지만 어떻게 하면 mysql like 형식으로 변환할 수 있을까요?

감사해요.

사용할 수 있습니다.to_s(:db)데이터베이스에 적합한 형식으로 변환합니다.

Time.now.to_s(:db)

그러나 시간은 데이터베이스의 UTC에 저장되므로 Rails에 지정된 시간대가 있으면 주의하십시오.적절한 비교를 수행하려면 이 값을 지정해야 합니다.

Time.now.utc.to_s(:db)

사용할 수도 있습니다.NOW()루비에서 현재 시간을 생성하는 대신 MySQL에서 기능합니다.

그럴 필요 없어요.레일즈가 대신 작업을 수행합니다.

모델이 다음과 같은 경우Widget마지막 날에 생성된 모든 위젯을 찾습니다.

Thing.find(:all, :condition => ["created_at > ?", Time.now - 1.day])

레일은 타임스탬프를 올바른 형식으로 자동 변환합니다.

언급URL : https://stackoverflow.com/questions/1255983/ruby-datetime-suitable-for-mysql-comparison

반응형