Как отобразить время в этом формате? - PullRequest
0 голосов
/ 09 ноября 2019

Время должно отображаться как 0000:00:0:00:00 для пользователя, что означает YYYY:WW:D:HH:MM. Мне понадобятся методы для добавления / уменьшения / установки времени.

Как я могу использовать PHP DateTime() для достижения этой цели? Он всегда должен отображаться в этом формате, даже если у меня есть только один час, он должен отображаться так: 0000:00:0:01:00.

Я ценю любую помощь!

Ответы [ 2 ]

0 голосов
/ 09 ноября 2019

Сделайте это с echo date('Y:W:j:H:i'); PHP Manual date

Y   A full numeric representation of a year, 4 digits           Examples: 1999 or 2003
W   ISO-8601 week number of year, weeks starting on Monday      Example: 42 (the 42nd week in the year)
m   Numeric representation of a month, with leading zeros       01 through 12
j   Day of the month without leading zeros                      1 to 31
H   24-hour format of an hour with leading zeros                00 through 23
i   Minutes with leading zeros                                  00 to 59

По вашей проблеме обратитесь к Как создать дату / время из номера недели Здесь Демо

$str = '2019-45-09 12:07';
$arr = explode(" ",$str);
$date_arr = explode("-",$arr[0]);
$time_arr = explode(":",$arr[1]);
$date = new DateTime();
$date->setISODate($date_arr[0],$date_arr[1],$date_arr[2])->setTime($time_arr[0],$time_arr[1]);
echo $date->format("Y-W-d H:i:s") . PHP_EOL;
$date->add(new DateInterval("P1D"));
echo $date->format("Y-W-d H:i:s");
0 голосов
/ 09 ноября 2019

Попробуйте это:

echo date('Y:m:j:h:i');

https://www.php.net/manual/en/function.date.php Второй аргумент для даты - отметка времени

...