1
可能重複:
How to calculate how many years passed since a given date in Ruby?紅寶石在Ruby中轉換郵戳來歲的時候
我想轉換表明一個人有多少歲是從數據庫中取到值郵戳。我相信這很容易,但我似乎無法弄清楚。
可能重複:
How to calculate how many years passed since a given date in Ruby?紅寶石在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
它不會爲閏年而煩惱。這只是一個快速和骯髒的價值。 – 2011-05-13 02:52:52
它*總是*有助於添加一些源代碼顯示你已經嘗試過。 – 2011-05-13 02:22:35