【问题标题】:Custom date format for UbuntuUbuntu 的自定义日期格式
【发布时间】:2016-05-13 11:16:12
【问题描述】:

我正在尝试在我的新 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() 时会引发异常。

是否有针对 SQL Server(远程 Azure 数据库)或 Ubuntu 的特定设置,我可以将其配置为以“M j Y H:i:s:uA”格式返回日期?

【问题讨论】:

  • 您在 Ubuntu 上运行 SQL Server?
  • 没有。这是一个远程 Azure 数据库。
  • 你用DATE_FORMATmysql函数试过了吗
  • 您能指定您的实时服务器是什么操作系统吗?您是否尝试过 Carbon Parse laracasts.com/discuss/channels/general-discussion/…
  • 我假设您在 LIVE 和 TEST 中使用相同版本的 PHP?

标签: php sql-server laravel ubuntu php-carbon


【解决方案1】:

MySQL DateTime 数据类型始终存储为Y-m-d H:i:s

您的问题是您添加了代表Dump and Diedd()

所以脚本永远不会到达下面的return 语句,这就是为您进行日期转换的原因。

删除dd($item["StartDate"], $item["EndDate"]); 行,它后面的行将运行,这就是为您进行日期转换的原因!

【讨论】:

  • 如果我删除 dd().我得到以下碳异常。 Carbon.php:Carbon\Carbon in createFromFormat:找不到文本月份。它仅用于调试目的:-)
  • 那完全是另一个问题
  • 尝试一个简单的print_r($items);。这不会杀死你的脚本。还有dd()print_r() 告诉你什么
猜你喜欢
  • 2014-08-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-10
  • 1970-01-01
  • 2021-08-06
  • 2011-03-01
  • 1970-01-01
相关资源
最近更新 更多