J'essaie de sauver l'heure dans la base de données pour quand un utilisateur ajoute une entrée. Chaque fois que j'exécute la fonction time(), elle imprime (ou renvoie) 1277155717 qui représente 1969.La fonction de temps en php et 1969
Je me demandais s'il existait un moyen de sauvegarder l'heure dans la base de données de façon à ce qu'elle représente la date actuelle à ce moment.
J'utilise la fonction
/* Works out the time since the entry post, takes a an argument in unix time (seconds) */
function time_since($original) {
// array of time period chunks
$chunks = array(
array(60 * 60 * 24 * 365 , 'year'),
array(60 * 60 * 24 * 30 , 'month'),
array(60 * 60 * 24 * 7, 'week'),
array(60 * 60 * 24 , 'day'),
array(60 * 60 , 'hour'),
array(60 , 'minute'),
);
$today = time(); /* Current unix time */
$since = $today - $original;
// $j saves performing the count function each time around the loop
for ($i = 0, $j = count($chunks); $i < $j; $i++) {
$seconds = $chunks[$i][0];
$name = $chunks[$i][1];
// finding the biggest chunk (if the chunk fits, break)
if (($count = floor($since/$seconds)) != 0) {
// DEBUG print "<!-- It's $name -->\n";
break;
}
}
$print = ($count == 1) ? '1 '.$name : "$count {$name}s";
if ($i + 1 < $j) {
// now getting the second item
$seconds2 = $chunks[$i + 1][0];
$name2 = $chunks[$i + 1][1];
// add second item if it's greater than 0
if (($count2 = floor(($since - ($seconds * $count))/$seconds2)) != 0) {
$print .= ($count2 == 1) ? ', 1 '.$name2 : ", $count2 {$name2}s";
}
}
return $print;
}
Pour afficher le nombre de minutes, années, mois, etc depuis le commentaire a été publié et il est de retour (40 ans, il y a 6 mois) quand je passe la valeur de la fonction time();
L'horodateur '1277155717' est' lundi, 21 juin 2010, 21:28:37 (GMT) ' – vimist
ouais, alors quel est le problème avec la fonction ci-dessus (merci de vérifier ce btw) – user220755
ce qui vous fait couler' 1277155717 »est quelque temps en 1969? – jigfox