我想将 06.11.2017 um 18:30 - 21:30 Uhr 格式的日期转换为 2017-11-06 格式。所以一切都应该在06.11.2017之后切断,剩下的日期应该以 YYYY-MM-DD 的格式输出。
有一种优雅的方式吗?
答案 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)