2011-05-05 4 views
4

Tous,Conversion horodatage Unix heures

J'ai un champ de base de données qui calcule en fait le temps passé à partir du moment où le questionnaire a commencé à l'heure actuelle. Cela a été fait à un certain moment (enregistré comme heure actuelle) et maintenant j'ai une valeur Unixtimestamp pour cela

ie Supposons que l'heure de début était 5/5/2011 13:00 et l'heure actuelle a été remplie à 5/5/2011 14h. La différence est donc calculée et stockée sous la forme d'un horodatage Unix.

Maintenant, je ne sais pas quand cela a été fait et maintenant je dois revenir aux heures passées à faire le quiz. Donc, ici, un horodatage Unix doit être converti en heures, dans ce cas, retour 1 heure. Quelqu'un peut-il m'aider s'il vous plaît à comprendre comment faire cela?

+1

Je ne suis pas complètement clair. Un véritable horodatage correspond au nombre de secondes écoulées depuis le 1/1/1970. La différence entre deux horodatages ne devrait être qu'un nombre de secondes, pas un horodatage réel. Si c'est ce que vous venez de diviser par 3600 pour obtenir des heures. – Cfreak

Répondre

8

Vous avez les secondes, il suffit de faire quelque chose comme

SELECT secondsField/3600 as 'hours' FROM tableName 
+0

ce n'est pas php, la catégorie étiquetée était 'PHP'. n'aide pas les futurs visiteurs –

+0

Vous avez downvoted la mauvaise personne. La question ne mentionne ou n'implique jamais php. Est-ce que le tag qui est faux, devrait être "sql". –

1

Voici un exemple de trouver la différence entre les deux horodatages en jours.

//Get current timestamp. 
$current_time = time(); 

//Convert user's create time to timestamp. 
$create_time = strtotime('2011-09-01 22:12:55'); 

echo "Current Date \t".date('Y-m-d H:i:s', $current_time)."\n"; 
echo "Create Date \t".date('Y-m-d H:i:s', $create_time)."\n"; 

echo "Current Time \t ".$current_time." \n"; 
echo "Create Time \t ".$create_time." \n"; 

$time_diff = $current_time - $create_time; 
$day_diff = $time_diff/(3600 * 24); 

echo "Difference \t ".($day_diff)."\n"; 
echo "Quote Index \t ".intval(floor($day_diff))."\n"; 
echo "Func Calc \t ".get_passed_days($create_time)."\n"; 

function get_passed_days($create_time) 
{ 
    return intval(floor((time() - $create_time)/86400)); 
} 

Pour convertir en heures, au lieu de 86400 placez 3600 à la place.

Espérons que cela aide.

+0

Selon la question de l'OP & 'tag' cela semble être la bonne réponse – AXL

Questions connexes