10
votes

PHP: DateTime dans la matrice en tant qu'objet. Comment écho

J'espère que le titre n'est pas trop cryptique. J'ai un tableau avec un objet DateTime dedans et j'essaie simplement de comprendre comment echo à une page à une page.

Warning: date() expects parameter 2 to be long, object given in C:\


1 commentaires

echo ((tableau) myarray ["créé"]) ['date']; ou u Can -> Format (DateTime :: DATE_FORMAT_CONST);


4 Réponses :




1
votes

Si c'est une PHP5 DateTime objet alors vous pouvez utiliser le Format Code> Méthode pour echo IT

$myDate = $myArray['created'];
echo $myDate->format('Y-m-d H:i:s');


0 commentaires

8
votes

J'ajouterai cette réponse même si je ne suis pas sûr qu'elle réponde spécifiquement à la question (et meilleure réponse est déjà là), Mais je n'ai pas pu trouver beaucoup d'autres endroits où le format ci-dessus ( date / TimeZone_Type / TimeZone ) est mentionné.

Si vous avez la date traduite de l'objet au tableau

  • via var_export

    DateTime :: __ set_state (tableau ( 'Date' => '2017-12-05 11: 58: 25.428595', 'Timezone_Type' => 3, 'Timezone' => 'US / Pacifique', ))

    • ou JSON_ENCODE

      {"Date": "2017-12-05 11: 57: 07.938671", "Timezone_Type": 3, "Timezone": "US \ / Pacific"}

      Vous pouvez utiliser à nouveau le DateTime :: __ Set_state Méthode magique mentionné ci-dessus sur le convertir à nouveau vers un DateTime objet . .

      Vous ne savez pas comment ici __ set_state pourrait bidirectionnel, mais il la magie . Je n'ai pas pu trouver de la documentation.

      Mais vous pouvez le tester ici: http://sandbox.onlinephpfonctions.com/code/0a18e6937E713f2e6e5f75f9af3e2


2 commentaires

hors sujet mais utile.


Merci pour cela