现在我使用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):意外字符
答案 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文档:
答案 2 :(得分:0)
正如LorenzoBerti所提到的,你可以用碳来解析你的日期:
$birthday = Carbon::parse($birthday)->format('d.m.y');
注意format()
方法,这应该为您提供所需的格式。