가능한 중복 : 나는 사람이 얼마나 많은 세를 나타내는 값으로 데이터베이스에서 찍은 날짜 스탬프를 변환하려고
How to calculate how many years passed since a given date in Ruby?루비는 루비 오래된 년에 날짜 스탬프를 변환
. 나는 이것이 쉽다는 것을 확신하지만, 나는 그것을 이해하는 것처럼 보이지 않는다. 날짜 기록을 가정
가능한 중복 : 나는 사람이 얼마나 많은 세를 나타내는 값으로 데이터베이스에서 찍은 날짜 스탬프를 변환하려고
How to calculate how many years passed since a given date in Ruby?루비는 루비 오래된 년에 날짜 스탬프를 변환
. 나는 이것이 쉽다는 것을 확신하지만, 나는 그것을 이해하는 것처럼 보이지 않는다. 날짜 기록을 가정
는 날짜 시간 값으로 검색되고 :
require 'date'
birth_date = DateTime.parse('1970-01-01 1:35 AM')
time_now = DateTime.now
(time_now - birth_date).to_i/365 # => 41
(time_now - birth_date).to_f/365 # => 41.38907504054664
birth_date
당신이 당신의 데이터베이스에서 검색해야 무엇을위한 모의 값입니다. 첫 번째 값은 연도이고, 두 번째 값은 소수 부분의 연도입니다.
다른 방법으로는, 당신은이 방법을 수행 할 수 있습니다
이 사람이 아직 생일이 있었다하지 않은 경우에 조정years = time_now.year - birth_date.year
years -= 1 if (birth_date.month > time_now.month)
years # => 41
. 예를 들어, 생일 조정 :
birth_date = DateTime.parse('1970-12-31 11:59 PM')
years = time_now.year - birth_date.year
years -= 1 if (birth_date.month > time_now.month)
years # => 40
윤년에는 문제가 없습니다. 그것은 단지 빠르고 더러운 가치입니다. –
* * 항상 * 당신이 시도한 것을 보여주는 몇 가지 소스 코드를 추가하는 데 도움이됩니다. –