IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Comment convertir une date en secondes ?


Sujet :

Langage PHP

  1. #1
    Membre régulier

    Homme Profil pro
    Développeur PHP MySQL
    Inscrit en
    Janvier 2015
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur PHP MySQL
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2015
    Messages : 37
    Points : 78
    Points
    78
    Par défaut Comment convertir une date en secondes ?
    Bonjour,
    Voilà j'aimerais convertir une date en secondes mais je ne suis pas sûr de la méthode à adapter.
    Exemple: 2018 08 28 17 23 10

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    En secondes ? Tu veux peut-être dire convertir en timestamp ?
    Regarde du côté de mktime ou strtotime.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Membre régulier

    Homme Profil pro
    Développeur PHP MySQL
    Inscrit en
    Janvier 2015
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur PHP MySQL
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2015
    Messages : 37
    Points : 78
    Points
    78
    Par défaut
    J'ai essayé je n'ai pas compris les fonctions si quelqu'un pourrait me le faire avec générosité cela serait bien plaisant

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    "2018 08 28 17 23 10" n'est pas une date.
    Ni dans cette vie, ni dans l'au-delà.

    Montre-nous le VRAI format de la date à convertir.
    (un vrai exemple)

  5. #5
    Membre régulier

    Homme Profil pro
    Développeur PHP MySQL
    Inscrit en
    Janvier 2015
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur PHP MySQL
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2015
    Messages : 37
    Points : 78
    Points
    78
    Par défaut
    Dans mon script je reçois 3 dates que je modifie à souhait par conséquent le format de la date m'importe peu mais peut-être que pour vous c'est important
    donc voici les dates correspondantes
    • 28/08/2018 20:12:30 la date départ
    • 28/08/2018 20:15:30 la date actuelle
    • 28/08/2018 20:30:35 la date arrivée

    Je veux pouvoir calculer la différence des deux dates départ et arrivée et le temps entre les deux dates soit date actuelle

  6. #6
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2018
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    bonsoir
    c'est un sujet déjà abordé il me semble, avec une réponse qui devrait satisfaire ton besoin :
    https://www.developpez.net/forums/d8...entre-2-dates/


  7. #7
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Skyth Voir le message
    Je veux pouvoir calculer la différence des deux dates départ et arrivée
    OK.
    Voilà qui est plus précis !

    1- il faut convertir tes dates dans le format standard : yyyy-mm-dd hh:mm:ss, avec date_create_from_format
    2- pour obtenir la différence, utiliser date_diff

    Citation Envoyé par Skyth Voir le message
    J...et le temps entre les deux dates soit date actuelle
    Ça, par contre, ce n'est pas clair.

  8. #8
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Calculer la différence entre 2 dates et convertir une date en secondes, ce n'est pas franchement la même chose

    Pour étendre la réponse de rebelor :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $date1 = DateTime::createFromFormat('d/m/Y H:i:s', '28/08/2018 20:12:30');
    $date2 = DateTime::createFromFormat('d/m/Y H:i:s', '28/08/2018 20:30:35');
    $intervalle = date_diff($date1, $date2);
    echo $intervalle->format('écart : %h heures, %i minutes et %s secondes');
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  9. #9
    Membre régulier

    Homme Profil pro
    Développeur PHP MySQL
    Inscrit en
    Janvier 2015
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur PHP MySQL
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2015
    Messages : 37
    Points : 78
    Points
    78
    Par défaut
    Vous êtes généreux mais on s'écarte du sujet.
    je vous donne mon script et à vous de le compléter pour faire les Opérations.
    Avec votre méthode je suis perdu.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    include("connexionbdd.php");
    echo "<head>";
    //include("affichagecompteur.php");
    echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />";
     
     
     
     
    echo "</head><body>";
    echo "Login : ".$login."<br>";
     
    echo "Vos champs : <br>";
     
     
    include("main_constructeurs.php");
     
     
     
     
     
     
     
     
    $temps=$data['temps'];
    //$sql01 = "SELECT * FROM actions WHERE login='$login' AND action='ON'";
    $sql01 = "SELECT * FROM actions WHERE login='$login' AND action='ON'";
    	$req01 = mysql_query($sql01) or die('Erreur SQL !<br>'.$sql01.'<br>'.mysql_error());
    	while($data = mysql_fetch_assoc($req01))
    	{
    		$id=$data['id'];
    		//$loginsession=$data['logincompte'];
    		$idchamp=$data['idchamp'];
    		$datedepart=$data['datedepart'];
    		$datearrivee=$data['datearrivee'];
    		$action=$data['action'];
     
     
    			$sql05 = "SELECT * FROM niveaux WHERE niveau='$niveau'";
    			$req05 = mysql_query($sql05) or die('Erreur SQL !<br>'.$sql05.'<br>'.mysql_error());
    			while($data = mysql_fetch_assoc($req05))
    			{
    				$temps=$data['temps'];
    				$niveau=$data['niveau'];
     
    				$niveau02=$_GET['niveau'];
     
    				$tempsensecs=$data['tempsensecs'];
    				$compteur=explode(" ",$temps);
    				$newcompteur=$compteur[2]."".$compteur[1]."".$compteur[0]."".$compteur[3]."".$compteur[4]."".$compteur[5]."";
    		//		
    		//$dateactuelleafff=$compteur=explode(" ",$temps);
    		//
     
     
     
    			}	
     
     
    		//Date actuelle de comparaison
    		$dateactuelle=date("YmdHis");
    	//	$dateactuelle=explode(" ",$dateactuelle);
    	/*	$dateactuelle[0]//0000 Années
    		$dateactuelle[1] 00 Mois
    		$dateactuelle[2] 00 Jours
    		$dateactuelle[3] 00 Heures
    		$dateactuelle[4] 00 Minutes
    		$dateactuelle[5] 00 Secondes
    	*/
    	/*	$datesecs=intval($dateacctuelle[5],60);
    		$datemins=intval($dateactuelle[4],60);
    		$dateheures=intval($dateactuelle[3],24);
    		$datejours=intval($dateactuelle[2],30);//ou 31
    		$datemois=intval($dateactuelle[1],12);
    		$dateannee=intval($dateactuelle[0]);
     
    		echo "".$datesecs;
    		echo "<br>".$datemins;
    		echo "<br>".$dateheures;
    		echo "<br>".$datejours;//ou 31
    		echo "<br>".$datemois;
    		echo "<br>".$dateannee;
    		*/
     
    		//$ddq = date_create();
    		//$ddq = date_timestamp_set($ddq,1234567890);
    		//echo date_format($ddq, 'B => (U) => T Y-M-d H:i:s');
     
    		/*date_default_timezone_set("UTC"); 
    		$ddp = date_default_timezone_get();
    		echo $ddp;
    		$ddq = new DateTime();
    		$ddq ->setTimestamp(1234567890);
    		echo $ddq -> format('B => (U) => T Y-M-d H:i:s');
    		*/
     
    		$datearriveecomp=str_replace(' ','',$datearrivee);
    		$datedepartcomp=str_replace(' ','',$datedepart);
     
    		//Comparaison de dates
    		//	$datedepart=$data['datedepart'];
    		//	$datedepart=explode(" ",$datedepart);
    		//	$datedepart=$datedepart[1]."".$datedepart[2]."".$datedepart[3]."".$datedepart[4]."".$datedepart[5]."".$datedepart[6];
     
    		//	$datearrivee=$data['datearrivee'];
    		//	$datearrivee=explode(" ",$datearrivee);
    		//	$datearrivee=$datearrivee[0]."".$datearrivee[1]."".$datearrivee[2]."".$datearrivee[3]."".$datearrivee[4]."".$datearrivee[5];
     
     
    	/*
    		$datedepartcomp=intval($datedepartcomp);
    		$datearriveecomp=intval($datearriveecomp);
    		$dateactuelle=intval($dateactuelle);
     
    		echo "<br>";
    		echo "".$datedepartcomp."";
    		echo "<br>";
    		echo "".$datearriveecomp."";
    		echo "<br>";
    		echo "".$dateactuelle.""; 
    	*/
     
     
     
     
     
     
    	}
     
     
    		if($dateactuelle>$datearriveecomp)
    		{
    			$sql02  = "UPDATE actions SET action='OFF' WHERE idchamp='$idchamp' AND login='$login'"; 
    			$req02 = mysql_query($sql02) or die('Erreur SQL !<br>'.$sql02.'<br>'.mysql_error());
     
    			$sql04  = "UPDATE champs SET niveauchamp=niveauchamp+1 WHERE login='$login' AND idchamp='$idchamp'"; 
    			$req04 = mysql_query($sql04) or die('Erreur SQL !<br>'.$sql04.'<br>'.mysql_error());
     
    		}else if($dateactuelle<$datearriveecomp)
    		{
    			/*
    			$sql09 = "SELECT * FROM niveaux WHERE niveau='$niveau'";
    			$req09 = mysql_query($sql09) or die('Erreur SQL !<br>'.$sql09.'<br>'.mysql_error());
    			while($data = mysql_fetch_assoc($req09))
    			{
    				$tempscible=$data['temps'];
    			}
    			*/
    	/*		$sql06 = "SELECT * FROM actions WHERE login='$login' AND action='ON'";
    			$req06 = mysql_query($sql06) or die('Erreur SQL !<br>'.$sql06.'<br>'.mysql_error());
    			while($data = mysql_fetch_assoc($req06))
    			{
     
    			$datearrivee=$data['datearrivee'];
    			$datedepart=$data['datedepart'];
    			//$action=$data['action'];
     
    			*///$temps=$data['temps'];
    		$datedepart=explode(" ",$datedepart);
    		$datedepart=$datedepart[2]."/".$datedepart[1]."/".$datedepart[0]." ".$datedepart[3].":".$datedepart[4].":".$datedepart[5];
     
    		$datearrivee=explode(" ",$datearrivee);
    		$datearrivee=$datearrivee[2]."/".$datearrivee[1]."/".$datearrivee[0]." ".$datearrivee[3].":".$datearrivee[4].":".$datearrivee[5];
     
    		$tempsvalue=$data['tempsvalue'];
     
    		$niveau=$_GET['niveau'];
    		//$niveau02=$data['niveau'];
     
    		//$niveau+=1;
    		//$niveau02+=1;
     
    		//echo $niveau02."<br>";
    		// // //echo $niveau."<br>";
    		//$compteur=explode(" ",$temps);
    		//$newcompteur=$compteur[2]."".$compteur[1]."".$compteur[0]."".$compteur[3]."".$compteur[4]."".$compteur[5]."";
    	//		
    		/////MARQUE
     
    		//echo $datedepart."<br>";
    		//echo $datearrivee."<br>";
    		//echo $dateactuelle."<br>";
    		$niveauavant=$niveau;
    		$niveau+=1;
    			//CE BLOC LA DOIT SAFFICHER QUAND ACTION = ON
    		//	if($action=="ON"){
     
    $niveauavant=htmlentities($niveauavant);
    $niveau=htmlentities($niveau);
    $temps==htmlentities($temps);
    $datedepart=htmlentities($datedepart);
    $datearrivee=htmlentities($datearrivee); 
    						echo "<table border=\"1\" width=\"200\">
    				<tr><td colspan=\"1\">Niv.".$niveauavant." => ".$niveau."</td><td> Durée: ".$temps."</td></tr>
    				<tr><td>".$datedepart."</td><td>".$datearrivee."</td></tr>";
     
     
     
     
     
     
     
     
     
    			/*$sql10 = "SELECT * FROM niveaux WHERE niveau='$niveau'";
    			$req10 = mysql_query($sql10) or die('Erreur SQL !<br>'.$sql10.'<br>'.mysql_error());
    			while($data = mysql_fetch_assoc($req10))
    			{
    				$tempsensecs=$data['tempsensecs'];
    				$niveau=$data['niveau'];
    			}	*/
     
    			//$sql12  = "INSERT INTO actions(id, login, datedepart, datearrivee, action) VALUES('','$login','$datedepart','$datearrivee','ON')"; 
    			//$req12 = mysql_query($sql12) or die('Erreur SQL !<br>'.$sql12.'<br>'.mysql_error());
     
     
     
     
     
     
     
     
     
     
     
     
     
    		}
     
     
     
     
     
     
     
    		if($dateactuelle>$datearriveecomp)
    		{
     
    		}else if($dateactuelle<$datearriveecomp && $dateactuelle>=$datedepartcomp)
    		{
    			$x=100*($dateactuelle-$datedepartcomp)/($datearriveecomp-$datedepartcomp);
    			$depart=round($x);
     
    			include("progressbar2.php");
    			echo "<tr><td colspan=\"2\"><progress id=\"MaBarreProgression\" value=\"".$depart."\" max=\"100\"></progress><br>
    			<span class=\"progress-value\">Téléchargement 0%</span> </td></tr></table>";
    		}
     
     
     
    		//include("main_constructeurs.php");
     
    		echo "</body></html>";
     
     
     
    ?>

    Ligne 114 à 119 les affichages
    Ligne 240 à 245 l'affichage d'une barre de progression en temps "réel".
    Ligne 240 je calcule le % du temps accompli:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $x=100*($dateactuelle-$datedepartcomp)/($datearriveecomp-$datedepartcomp);
    			$depart=round($x);
    Avec votre méthode je ne peux pas le calculer car il y a division de 2 dates d'où l'intérêt que je porte à convertir en secondes ou une unité commune.
    Cet $x est le pourcentage.
    J'aimerais faire brutalement cette opération:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $datedepart=date("Y m d H i s");
    $datedepart=explode(" ",$datedepart);
    $datedepart=$datedepart[2]."/".$datedepart[1]."/".$datedepart[0]." ".$datedepart[3].":".$datedepart[4].":".$datedepart[5];
     
    éléments des secondes: $datedepart[5]
    éléments des minutes: $datedepart[4]*60
    éléments des heures: $datedepart[3]*60*60
    éléments des jours: $datedepart[0]*60*60*24
    éléments des mois: $datedepart[1]*12*60*60*24
    éléments des années: $datedepart[2]*60*60*24*12*1
    évidemment je fais des erreurs c'est pour cela que j'ai posté pour avoir une réponse semblable mais juste au moins.

  10. #10
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    je vous donne mon script et à vous de le compléter pour faire les Opérations.
    Je pense que tu as pas bien compris le principe du forum.

    Si tu ne veux pas travailler pas de problème , mais ca va pas être gratuit ...

    Célira te donne un code qui répond à ta question , à toi de l'adapter ensuite à ta situation ...
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  11. #11
    Invité
    Invité(e)
    Par défaut
    OK.

    Celira t'a donné l'essentiel.
    En cherchant un peu... on trouve DateTime::getTimestamp :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    $date_debut = '28/08/2018 20:12:30';
    $date_fin = '28/08/2018 20:30:35';
     
    // on crée les objet DateTime, manipulables
    $date1 = DateTime::createFromFormat('d/m/Y H:i:s', $date_debut);
    $date2 = DateTime::createFromFormat('d/m/Y H:i:s', $date_fin);
     
    // on récupère sous forme de timestamp (nombre de secondes depuis le 1er janvier 1970)
    echo $timestamp1 = $date1->getTimestamp().'<br />';
    echo $timestamp2 = $date2->getTimestamp().'<br />';
    On peut alors manipuler les timestamp "simplement" avec des fonctions arithmétiques :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    // On n'a plus qu'à effectuer les calculs "simplement" :
    echo 'Intervalle : '.($timestamp2 - $timestamp1).'<br />';

  12. #12
    Membre régulier

    Homme Profil pro
    Développeur PHP MySQL
    Inscrit en
    Janvier 2015
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur PHP MySQL
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2015
    Messages : 37
    Points : 78
    Points
    78
    Par défaut
    Je pense que tu as pas bien compris le principe du forum.

    Si tu ne veux pas travailler pas de problème , mais ca va pas être gratuit ...

    Célira te donne un code qui répond à ta question , à toi de l'adapter ensuite à ta situation ...
    Avec votre méthode, on ne peut pas faire la division de 2 dates.
    Je pense qu'en secondes ou timestamp(que je ne comprends pas) sont les seuls unité utilisable.
    Je m'excuse si je n'ai pas été assez clair.

    Aidez moi à faire le calcul brutalement comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $datedepart=date("Y m d H i s");
    $datedepart=explode(" ",$datedepart);
    $datedepart=$datedepart[2]."/".$datedepart[1]."/".$datedepart[0]." ".$datedepart[3].":".$datedepart[4].":".$datedepart[5];
     
    éléments des secondes: $datedepart[5]
    éléments des minutes: $datedepart[4]*60
    éléments des heures: $datedepart[3]*60*60
    éléments des jours: $datedepart[0]*60*60*24
    éléments des mois: $datedepart[1]*12*60*60*24
    éléments des années: $datedepart[2]*60*60*24*12
    Mais juste, je pense que je fais une erreur.

    Merci jreaux62 et Celira pour le temps passer à m'aider je vais voir en timestamp les méthodes.

  13. #13
    Invité
    Invité(e)
    Par défaut
    Je t'ai donné la méthode dans mon précédent post.

    • timestamp : nombre de secondes depuis le 1er janvier 1970 00:00:00 GMT


    Ce qui fournit un référentiel universel aux dates.

  14. #14
    Membre régulier

    Homme Profil pro
    Développeur PHP MySQL
    Inscrit en
    Janvier 2015
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur PHP MySQL
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2015
    Messages : 37
    Points : 78
    Points
    78
    Par défaut
    D'accord.

  15. #15
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    $date_debut = '28/08/2018 20:12:30';
    $date_fin = '28/08/2018 20:30:35';
    $date_actuelle = '28/08/2018 20:15:30';
     
    // on crée les objet DateTime, manipulables
    $date1 = DateTime::createFromFormat('d/m/Y H:i:s', $date_debut);
    $date2 = DateTime::createFromFormat('d/m/Y H:i:s', $date_fin);
    $date3 = DateTime::createFromFormat('d/m/Y H:i:s', $date_actuelle);
     
    $timestamp1 = $date1->getTimestamp();
    $timestamp2 = $date2->getTimestamp();
    $timestamp3 = $date3->getTimestamp();
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    $interval_fin_debut = $timestamp2 - $timestamp1;
    $interval_fin_actuelle = $timestamp2 - $timestamp3;
    $rest_pourcentage = number_format (100 * $interval_fin_actuelle / $interval_fin_debut, 2 );
     
    echo 'fin - début = '.$interval_fin_debut.' secondes<br />';
    echo 'fin - actuelle = '.$interval_fin_actuelle.' secondes<br />';
    echo 'Reste pourcentage = '. $rest_pourcentage .' %<br />';

  16. #16
    Membre régulier

    Homme Profil pro
    Développeur PHP MySQL
    Inscrit en
    Janvier 2015
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur PHP MySQL
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2015
    Messages : 37
    Points : 78
    Points
    78
    Par défaut
    jreaux62 fantastique je teste dès que je peux mais c'est exactement ce qu'il me fallait.
    Merci pour cette réponse.

  17. #17
    Membre régulier

    Homme Profil pro
    Développeur PHP MySQL
    Inscrit en
    Janvier 2015
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur PHP MySQL
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2015
    Messages : 37
    Points : 78
    Points
    78
    Par défaut
    Undefined class name 'datetime' in /mnt/114/sdb/f/2/skyplayer/main.php on line 140
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $date1 = DateTime::createFromFormat('d/m/Y H:i:s', $date_debut);
    Je suis sûr que ce n'est qu'une directory à ajouter mais laquelle ?

  18. #18
    Invité
    Invité(e)
    Par défaut
    Tout faux.

    Essaie avec new :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $date1 = new DateTime::......



    Il va falloir que tu apprennes à faire des recherches tout seul, et à lire la DOC.

  19. #19
    Membre régulier

    Homme Profil pro
    Développeur PHP MySQL
    Inscrit en
    Janvier 2015
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur PHP MySQL
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2015
    Messages : 37
    Points : 78
    Points
    78
    Par défaut
    Pour le moment, je ne trouve pas la solution même avec "new" T_PAAMAYIM_NEKUDOTAYIM
    Alors je dois me pencher vers la formulation je pense de l'ordre des éléments de la date, je cherche encore.
    Si vous trouvez mieux vous me le dites ou alors la version de mon php est trop obsolète.

  20. #20
    Invité
    Invité(e)
    Par défaut
    As-tu testé le Style procédural ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?php
    $date = date_create_from_format(…........);

    La plus grande qualité pour progresser est la CURIOSITE.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Comment convertir une date de Java à SQL
    Par khadi8 dans le forum Persistance des données
    Réponses: 2
    Dernier message: 04/01/2012, 10h48
  2. Comment convertir une date MySQL au format francophone ?
    Par bilane dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 11/09/2006, 10h44
  3. convertir une date en seconde
    Par svil dans le forum Langage
    Réponses: 5
    Dernier message: 05/11/2005, 22h45
  4. Réponses: 14
    Dernier message: 29/06/2005, 10h22
  5. []Comment convertir une date GMT en date vb ?
    Par Invité dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 11/08/2004, 16h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo