Хорошо, я уже исследовал много сайтов о том, как я могу преобразовать объект PHP DateTime в String. Я всегда вижу «String to DateTime», а не «DateTime to String»
PHP DateTime может быть эхом, но я хочу обработать DateTime с помощью строковых функций PHP.
Теперь мой вопрос в том, как я могу сделать PHP DateTime Object строкой, начинающейся с таких кодов
<?php $dts = new DateTime(); //this returns the current date time echo strlen($dts); ?>
Вы можете использовать метод format
класса DateTime
:
$date = new DateTime('2000-01-01'); $result = $date->format('Ymd H:i:s');
Если по какой-то причине format
сбой окончен, он вернет FALSE
. В некоторых приложениях может иметь смысл обрабатывать неудачный случай:
if ($result) { echo $result; } else { // format failed echo "Unknown Time"; }
Самый простой способ найти:
<?php $date=new DateTime(); //this returns the current date time $result = $date->format('YmdHi-s'); echo $result; echo "<br>"; $krr = explode('-',$result); echo "<br>"; $result = implode("",$krr); echo $result; ?>
Я надеюсь, что это помогает.
Есть некоторые предопределенные форматы в date_d.php
для использования с format
например:
define ('DATE_ATOM', "Ymd\TH:i:sP"); define ('DATE_COOKIE', "l, dMy H:i:s T"); define ('DATE_ISO8601', "Ymd\TH:i:sO"); define ('DATE_RFC822', "D, d M y H:i:s O"); define ('DATE_RFC850', "l, dMy H:i:s T"); define ('DATE_RFC1036', "D, d M y H:i:s O"); define ('DATE_RFC1123', "D, d MYH:i:s O"); define ('DATE_RFC2822', "D, d MYH:i:s O"); define ('DATE_RFC3339', "Ymd\TH:i:sP"); define ('DATE_RSS', "D, d MYH:i:s O"); define ('DATE_W3C', "Ymd\TH:i:sP");
Используйте следующее:
$date = new \DateTime(); $string = $date->format(DATE_RFC2822);
echo date_format($date,"Y/m/d H:i:s");
Это сработало для меня
$start_time = date_create_from_format('Ymd H:i:s', $start_time); $current_date = new DateTime(); $diff = $start_time->diff($current_date); $aa= (string)$diff->format('%R%a'); echo gettype($aa);
Более короткий способ использования списка. И вы можете делать то, что хотите, с каждым компонентом даты.
list($day,$month,$year,$hour,$min,$sec) = explode("/",date('d/m/Y/h/i/s')); echo $month.'/'.$day.'/'.$year.' '.$hour.':'.$min.':'.$sec;