Page 1 sur 1

date-time en secondes

Posté : 02 juin 2005, 15:21
par Invité
bonjour,

j'ai une date de ce type:

02-06-2005 12:32

et je souhaiterais la modifier en secondes

je connais le principe mktime avec une simple date mais avec les heures en supplément je trouve pas de solution.

merci d'avance pour les infos que vous pourrez m'apporter

Posté : 02 juin 2005, 15:24
par zzZZZzzzzZZZ
	$anneel=substr($date, 0, 4); 
	$moisl=substr($date, 5, 2);
	$jourl=substr($date, 8, 2);
	$heurel=substr($date, 11, 2);
	$minutel=substr($date, 14, 2);
	$secondel=substr($date, 17, 2);
	$time=mktime($heurel,$minutel,$secondel,$moisl,$jourl,$anneel);

Posté : 02 juin 2005, 15:27
par zeus
utilise getDate()

pour découper ta date par jour, mois, annee, heure...

et ensuite tu utilise mktime()

qui accepte les heures, minutes, secondes ...

Posté : 02 juin 2005, 15:27
par zzzZZZZzzzZZZ
cette fonction marche pour un champ de type date time sous mysql
faut modifier les indices passé en parametre dans substr...

Posté : 02 juin 2005, 15:27
par Cyrano
c'est dans le manuel:
Description
int mktime ( [int hour [, int minute [, int second [, int month [, int day [, int year [, int is_dst]]]]]]] )
En clair, tu envoies dans l'ordre heures, minutes, secondes, mois, jour et année.

Posté : 02 juin 2005, 15:31
par zzzzZZZZZZzzzz
getdate ca prend pas un timestamp en paramètre? et non une date sous le format qu'il a presicé: 02-06-2005 12:32 ?

Posté : 02 juin 2005, 15:37
par zeus
Effectivement,

autant pour moi :oops:

donc => substr

Posté : 02 juin 2005, 16:06
par Invité
voilà ce que j'ai fais:
<?
$aujourdhui = date("Y-m-d H:i:s");

$interval = date('d-m-Y H:i', strtotime(''.$aujourdhui.' -600 seconds'));
$anneel=substr($interval, 0, 4); 
$moisl=substr($interval, 5, 2); 
$jourl=substr($interval, 8, 2); 
$heurel=substr($interval, 11, 2); 
$minutel=substr($interval, 14, 2); 
$secondel=substr($interval, 17, 2); 
$interval2=mktime($heurel,$minutel,$secondel,$moisl,$jourl,$anneel);
$interval3 = time();


$connection = $row['date_connect'];
$annee2=substr($connection, 0, 4); 
$mois2=substr($$connection, 5, 2); 
$jour2=substr($$connection, 8, 2); 
$heure2=substr($$connection, 11, 2); 
$minute2=substr($$connection, 14, 2); 
$seconde2=substr($$connection, 17, 2); 
$connection2=mktime($heure2,$minute2,$seconde2,$mois2,$jour2,$annee2);
$connection3 = time();

if ($connection3>=$interval3)
{
echo '<TR><TD valign="center"><B>&nbsp;&nbsp;';
echo '<IMG src="/img/connect.gif" width="12" height="12"  alt="Connecté" title="Connecté">';
echo '&nbsp;Actuellement connecté</B></TD><TD valign="center" align="right"><B>';
}
else
{
echo '<TR><TD valign="center"><B>&nbsp;&nbsp;';
echo '<IMG src="/img/disconnect.gif" width="12" height="12"  alt="Déconnecté" title="Déconnecté">';
echo '&nbsp;Derniere visite: '.$row['date_connect'].'</B></TD><TD valign="center" align="right"><B>';
}
?>
c'est pour vérifier les membres qui sont connecté ou non.

mail là tout le monde est affiché connecté sans exception

$connection correspond à la date de derniere activité du membre

$interval correspond à un interval de 10 minutes durant lesquels il y doit y avoir une activité pour considérer comme connecté

mais là même un membre n'ayant pas eu d'activité depuis le mois dernier est considéré comme connecté

Posté : 02 juin 2005, 16:09
par Invité
oups les deux lignes contenant time() sont en trop je les ais supprimé mais aucun changement