Próbuję obliczyć wiek osób na podstawie dzisiejszych datę minus ich urodziny.

W takim przypadku używam tych dat

Thu Nov 03 1988 00:00:00 GMT-0500 (Central Daylight Time)
Tue Aug 12 2014 11:56:33 GMT-0500 (Central Daylight Time)

Metoda

var birthday = new Date(user.birthTime);
var today = new Date();
console.log(birthday);
console.log(today);

console.log('age = '+Math.floor((today - birthday)/(1000*60*60*24)));

// Today minus birthday divided by .... (not sure where all these numbers come from but everyone on the internet uses them so they must be right?)
return Math.floor((today - birthday)/(1000*60*60*24));

Kod zwraca 9413, kiedy spodziewam się 26.

Jak mogę zdobyć wiek osób w latach?

-1
Catfish 12 sierpień 2014, 22:02

3 odpowiedzi

Najlepsza odpowiedź

Daktylowe arytmetyki w JavaScript będą przynieść wartości w milisekundach, podzielicie je przez 1000*60*60*24, dzięki czemu skończysz wynik w ciągu kilku dni (milisekund w drugim * sekundy za minutę * minut za godzinę * godziny dziennie).

Spróbuj podzielić go przez 1000*60*60*24*365.

3
Jean-Karim Bockstael 12 sierpień 2014, 18:09

To wiek w dniach, nie lata.

3
marneborn 12 sierpień 2014, 18:07

Dostajesz wiek w dniach. Jeśli chcesz wiek od lat, musisz podzielić tę ostatnią obliczenie o 365

Math.floor((today - birthday)/(1000*60*60*24))/365

2
Brennan 12 sierpień 2014, 18:08