Aller au contenu

Format TIMESTAMP


Guest Marmotte73

Sujets conseillés

Guest Marmotte73
Posté

Bonjour,

Soit une variable $timestamp (format : AAAA-MM-JJ HH:MM:SS)

Je cherche à retrancher une seconde à cette variable tout en restant dans ce format

Exemple : de 2006-10-10 05:30:28, je cherche à obtenir 2006-10-10 05:30:27

Merci pour vos réponses

Posté

pas de façon vraiment très simple à ma connaissance...

et c'est vrai que c'est assez abérant. tu peux utiliser :

$at = strptime($timestamp, '%Y-%m-%d %T');

$at sera alors un tableau contenant les minuts les secondes...etc mais il faudra que convertisse ça en timstamp pour retirer une seconde pour enfin reconvertir en date avec strftime.

mais je suppose que tu tire cette date du base sql donc tu peux utiliser la fonction sql UNIX_TIMESTAMP(date) pour que ta requte te retourne un timestamp au lieu de la date.

d'ailleur ça ouvre un peu un débat sur l'utilité d'utiliser des colonnes DATE, TIME ou DATETIME dans mysql...

Posté

Bonjour,

Si tu tiens à le faire en PHP tu peux faire ainsi :

$timestamp = date("Y-m-d h:m:n",strtotime($timestamp) - 1));

strtotime converti un timestamp de format quelconque (avec certaines limitation, voir manuel) en timestamp Unix. Le timestamp Unix étant le nombre de secondes depuis le premier janvier 1970 à minuit (GMT) tu peux soustraire un nombre de secondes et revenir au format désiré avec la fonction date et le format que tu souhaites (voir manuel). Ce n'est pas très "académique", ni très fiable car si tu dois traiter des dates avant 1970, ces fonctions PHP ne fonctionnent plus.

Sinon en SQL, du moins en MySQL, tu peux utiliser la fonction SUBTIME (MySQL >= 4.1.1) :

SELECT SUBTIME(champ_avec_ton_timestamp,'1' FROM ta_table)

Bonne continuation.

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...