Horodatage Unix et date mysql: date de naissance

J’ai une question très simple concernant l’horodatage unix et la date mysql. J’essaie de créer un petit site Web où les utilisateurs peuvent s’inscrire et remplir leur date de naissance.

Le problème est qu’Unix commence avec Jan 01 1970. Maintenant, si je calcule l’âge pour les utilisateurs, les dates de formulaire comme date (‘mdY’, $ unix_from_db) et ainsi de suite échoueront avec les utilisateurs de plus de 40 ans, n’est-ce pas?

Alors, quelle serait la bonne façon de le faire? Désolé, pour la question de base comme celle-ci, mais je suis inexpérimenté avec php et mysql.

// Edit: Merci à vous tous. Je me suis trompé, car, date (‘mdy’, mktime (0,0,0,1,1,1890)) et date (‘mdy’, – 2000) ont renvoyé 01.01.70 – la prochaine fois que j’étudierai le manuel plus soigneusement. J’ai pu réparer mon site, merci encore. Dommage que je ne puisse accepter qu’une seule réponse, ils étaient tous également bons.

Aux dates antérieures à l’époque, le nombre augmente encore, devenant ainsi moins négatif au fil du temps.

http://en.wikipedia.org/wiki/Unix_time

Vous ne devriez pas avoir de problème avec les dates pré-époque:

 

Les sorties

 01-01-1970 01-01-1969 01-01-1943 

Les horodatages Unix pour les temps antérieurs à 1970 sont des entiers négatifs, en comptant le nombre de secondes jusqu’au 1er janvier 1970.

Par exemple, 2/13/1943 est -848343600

Et alors? L’arithmétique fonctionne avec des nombres négatifs. Quand ils commencent, l’époque ne fait aucune différence tant qu’elle est utilisée de manière cohérente.

Les nombres négatifs sont des personnes aussi! Ne pas discriminer! Ça fait mal à leurs sentiments.

Stockez la date en tant que date ou date / heure dans mysql.

Sortez-le comme vous voulez avec date:

 date('', strtotime($date_from_db)); 

strtotime renverra un nombre entier négatif pour les dates avant 1970. la date gérera cela très bien.