date-time en secondes

Invité
Invité n'ayant pas de compte PHPfrance

02 juin 2005, 15:21

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

zzZZZzzzzZZZ
Invité n'ayant pas de compte PHPfrance

02 juin 2005, 15:24

	$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);

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

02 juin 2005, 15:27

utilise getDate()

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

et ensuite tu utilise mktime()

qui accepte les heures, minutes, secondes ...
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

zzzZZZZzzzZZZ
Invité n'ayant pas de compte PHPfrance

02 juin 2005, 15:27

cette fonction marche pour un champ de type date time sous mysql
faut modifier les indices passé en parametre dans substr...

Mammouth du PHP | 19672 Messages

02 juin 2005, 15:27

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.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

zzzzZZZZZZzzzz
Invité n'ayant pas de compte PHPfrance

02 juin 2005, 15:31

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 ?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

02 juin 2005, 15:37

Effectivement,

autant pour moi :oops:

donc => substr
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Invité
Invité n'ayant pas de compte PHPfrance

02 juin 2005, 16:06

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é

Invité
Invité n'ayant pas de compte PHPfrance

02 juin 2005, 16:09

oups les deux lignes contenant time() sont en trop je les ais supprimé mais aucun changement