web-dev-qa-db-fra.com

Convertissez cette chaîne en horodatage PHP

J'ai cette chaîne: "13/10 15:00" et je voudrais la convertir en horodatage mais quand je fais ça:

      $timestamp = strtotime("13/10 15:00");

Il renvoie une valeur vide.

14
user2876368

Dans votre code, strtotime() tente de convertir 13/10 comme le dixième jour du 13e mois, ce qui renvoie une erreur.

Si vous souhaitez analyser une chaîne de date avec un format personnalisé, il est préférable d'utiliser plutôt DateTime :: createFromFormat ():

$dtime = DateTime::createFromFormat("d/m G:i", "13/10 15:00");
$timestamp = $dtime->getTimestamp();
44
user1864610
  $timestamp = strtotime("13-10-2013 15:00");

Cela peut être important:

Les dates aux formats m/d/y ou d-m-y sont ambiguës en examinant le séparateur entre les différents composants: si le séparateur est une barre oblique (/), alors le m/d/y américain est supposé; alors que si le séparateur est un tiret (-) ou un point (.), alors le format européen d-m-y est supposé.

Pour éviter toute ambiguïté potentielle, il est préférable d'utiliser les dates ISO 8601 (AAAA-MM-JJ) ou DateTime :: createFromFormat () lorsque cela est possible.

http://uk3.php.net/strtotime

18
Lajos Veres