J'ai déjà fait beaucoup de recherches sur le site pour convertir l'objet PHP DateTime en chaîne. Je vois toujours "String to DateTime" et non pas "DateTime to String"
PHP DateTime peut être répercuté, mais ce que je veux traiter mon DateTime avec PHP fonctions de chaîne.
Ma question est la suivante: comment puis-je associer un objet PHP dateTime à une chaîne commençant par ce type de code:
$dts = new DateTime(); //this returns the current date time
echo strlen($dts);
Vous pouvez utiliser la méthode format
de la classe DateTime
:
$date = new DateTime('2000-01-01');
$result = $date->format('Y-m-d H:i:s');
Si format
échoue pour une raison quelconque, il retournera FALSE
. Dans certaines applications, il peut être judicieux de gérer le cas d'échec:
if ($result) {
echo $result;
} else { // format failed
echo "Unknown Time";
}
Le moyen le plus simple que j'ai trouvé est:
$date = new DateTime(); //this returns the current date time
$result = $date->format('Y-m-d-H-i-s');
echo $result . "<br>";
$krr = explode('-', $result);
$result = implode("", $krr);
echo $result;
J'espère que ça aide.
Il y a des formats prédéfinis dans date_d.php
à utiliser avec format
comme:
define ('DATE_ATOM', "Y-m-d\TH:i:sP");
define ('DATE_COOKIE', "l, d-M-y H:i:s T");
define ('DATE_ISO8601', "Y-m-d\TH:i:sO");
define ('DATE_RFC822', "D, d M y H:i:s O");
define ('DATE_RFC850', "l, d-M-y H:i:s T");
define ('DATE_RFC1036', "D, d M y H:i:s O");
define ('DATE_RFC1123', "D, d M Y H:i:s O");
define ('DATE_RFC2822', "D, d M Y H:i:s O");
define ('DATE_RFC3339', "Y-m-d\TH:i:sP");
define ('DATE_RSS', "D, d M Y H:i:s O");
define ('DATE_W3C', "Y-m-d\TH:i:sP");
Utilisez comme ceci:
$date = new \DateTime();
$string = $date->format(DATE_RFC2822);
echo date_format($date,"Y/m/d H:i:s");
Plus court chemin en utilisant la liste. Et vous pouvez faire ce que vous voulez avec chaque composant de date.
list($day,$month,$year,$hour,$min,$sec) = explode("/",date('d/m/Y/h/i/s'));
echo $month.'/'.$day.'/'.$year.' '.$hour.':'.$min.':'.$sec;
Cela a fonctionné pour moi
$start_time = date_create_from_format('Y-m-d H:i:s', $start_time);
$current_date = new DateTime();
$diff = $start_time->diff($current_date);
$aa = (string)$diff->format('%R%a');
echo gettype($aa);