使用PHP将日期转换为特定格式

时间:2017-11-27 07:47:35

标签: php date datetime format php-7

我想将 06.11.2017 um 18:30 - 21:30 Uhr 格式的日期转换为 2017-11-06 格式。所以一切都应该在06.11.2017之后切断,剩下的日期应该以 YYYY-MM-DD 的格式输出。

有一种优雅的方式吗?

4 个答案:

答案 0 :(得分:1)

不优雅但易于实施:

 function formatDate($date) {
     $date = explode(' ', $date);
     $date = explode('.', $date[0]);

     return $date[2] .'-'. $date[1] .'-'. $date[0];
 }

 echo formatDate('06.11.2017 um 18:30 - 21:30 Uhr');

答案 1 :(得分:1)

$date = "06.11.2017 um 18:30 - 21:30 Uhr";
$date = explode(" ",$date);

 if(array_key_exists(0,$date))
     echo date("Y-m-d", strtotime($date[0]));

输出:2017-11-06

  • 爆炸字符串
  • 将第一部分转换为所需格式。

答案 2 :(得分:1)

您可以使用Explode PHP函数来删除不需要的日期,然后更改其格式。

以下PHP代码可以提供帮助:

<?php
$date = "06.11.2017 um 18:30 - 21:30 Uhr";
$dateArr = explode(" ",$date);
$wantedDate = $dateArr[0];
$newDate = date("Y-m-d", strtotime($wantedDate));
echo $newDate;
// Output will be 2017-11-06
?>

答案 3 :(得分:0)

假设您的日期字符串始终采用该格式,请使用substr()剪切字符串,然后将日期格式设置为'Y-m-d'

$date = '06.11.2017 um 18:30 - 21:30 Uhr';
$date = substr($date, 0, 10); // cut string to take date
$date = new DateTime($date);  // set string as datetime object
echo $date->format('Y-m-d');  // formatted date (2017-11-06)