我正在尝试在我的新Ubuntu上运行以下代码:
$results = "FromMsSqlQuery";
$items = collect($results)->filter(function ($item) use ($now) {
dd($item["StartDate"], $item["EndDate"]);
return Carbon::createFromFormat('M j Y H:i:s:uA', $item["StartDate"]) <= $now
&& Carbon::createFromFormat('M j Y H:i:s:uA', $item["EndDate"]) >= $now;
});
我的问题是当前的实时服务器以'M j Y H:i:s:uA'格式返回StartDate和EndDate,我的新服务器以'Y-m-d H:i:s'格式返回它。因此,在尝试createFromFormat()时会抛出异常。
是否有针对MsSql或Ubuntu的特定设置,我可以配置为以“M j Y H:i:s:uA”格式返回日期。
任何建议都将不胜感激。
答案 0 :(得分:1)
MySQL DateTime数据类型始终存储为Y-m-d H:i:s
您的问题是,您添加了代表dd()
的行Dump and Die
因此,脚本永远不会进入以下return
语句,这就是为您进行日期转换的过程。
删除dd($item["StartDate"], $item["EndDate"]);
行,其后面的行将会运行,这就是为你做日期转换!