Laravel使用特殊日期格式

时间:2017-10-19 09:17:00

标签: php laravel strtotime php-carbon

现在我使用strtotime功能将德国日期格式(01.01.2017)转换为股票(2017-01-01)。例如,我使用date('Y-m-d', strtotime($birthday))。现在我想使用短德国日期格式并将其转换为股票。例如。 1.1.17应转换为2017-01-01。我怎样才能做到这一点?使用strtotime功能不起作用(或者我愚蠢地使用它)

另一个问题:如果有人在32.01.2017输入,我怎么能抓住错误?我只收到一个调试通知,或者在制作时会收到一个"哎呀,..." "错误"消息话题。很高兴做一些甜蜜的警报信息。我收到以下错误消息:

  

DateTime :: __ construct():无法解析位置0(3)处的时间字符串(32.10.2016):意外字符

3 个答案:

答案 0 :(得分:2)

你可以使用这个。

$date = '1.1.17';
$year = substr($date, -2);
$finalDate= substr($date, 0, -2)."20".$year;
Carbon::createFromFormat('m.d.Y',$finalDate)->format('Y-m-d');

(更新)。

答案 1 :(得分:0)

对于管理Laravel日期,您可以使用名为Carbon的漂亮软件包来解决您的问题Carbon::parse("data");

这里你可以提供精美的文档。

http://carbon.nesbot.com/docs/ 这里是Laravel的api文档:

https://laravel.com/api/5.5/Illuminate/Support/Carbon.html

答案 2 :(得分:0)

正如LorenzoBerti所提到的,你可以用碳来解析你的日期:

$birthday = Carbon::parse($birthday)->format('d.m.y');

注意format()方法,这应该为您提供所需的格式。