2010-09-14 6 views
4

J'ai une base de données qui stocke l'heure pour moi. Je l'insère de PHP en utilisantconvertir unix timestamp php

date('Y-m-d H:i:s'); 

J'utilise ensuite cette fonction pour le convertir en un horodatage unix en PHP

function convert_datetime($str) 
{ 
list($date, $time) = explode(' ', $str); 
list($year, $month, $day) = explode('-', $date); 
list($hour, $minute, $second) = explode(':', $time); 

$timestamp = mktime($hour, $minute, $second, $month, $day, $year); 

return $timestamp; 
} 

Ce que je dois maintenant faire est de convertir cet horodatage à la date et l'heure ce format: yyyymmddhhmmss (sans tirets, tirets, deux-points, etc.).

Avez-vous des idées?

+0

http://www.php.net/date a une liste complète des paramètres de formatage de 'date()' –

Répondre

15

Vous pouvez utiliser la fonction strtotime et date:

echo date('Ymdhis', strtotime($date)); 
11

Utilisez date.

$date = date("YmdHis", $timestamp); 
3

ici vous allez

print date("YmdHis",unixtimestamp); 
1

Utilisez le format:

date('YmdHis'); 
2

Si vous utilisez mysql, il ha s une fonction DATE_FORMAT. Vous pouvez l'appeler comme

SELECT DATE_FORMAT(`datefield`, "%Y%m%d%H%i%s") AS `date_formatted` FROM table; 

Ainsi, vous obtenez une date déjà formatée à partir de votre base de données.

+0

Je recommanderais également cette approche plutôt que d'utiliser PHP. Je n'ai pas fait de points de repère, mais je soupçonne que les ordres de grandeur sont plus rapides. Aussi, utilisez 'NOW()' dans SQL, au lieu de 'date ('Y-m-d H: i: s');' en PHP pour l'insertion, si vous le pouvez. – aidan