当前位置: 首页 > 知识库问答 >
问题:

Symfyony正在抛出日期时间分析错误

段干子晋
2023-03-14

我试图从数据库表中获取在字段创建的,但它抛出了以下错误:

内部存储的日期/时间/时间戳值无法转换为DateTime:'

烹调

烹调

提取日期代码:

foreach ($pager->getResults() as $row):
         ?>
        <tr>
          <td><?php echo $row->getTitle()  ?></td>
          <td><?php echo ($row->getStatus()) ? 'Active' : 'Inactive' ?></td>
          <td><?php echo date(sfConfig::get('app_display_alternate_format_for_date'), strtotime($row->getCreatedAt())) ?></td>
          <td>
          </td>
        </tr>

日期的配置:

'app_display_alternate_format_for_date'=

以DB格式保存日期:

2017-09-15 08:08:02

BaseModel上的基本getCreatedAt函数:

public function getCreatedAt($format = 'Y-m-d H:i:s')
    {
        if ($this->created_at === null) {
            return null;
        }


        if ($this->created_at === '0000-00-00 00:00:00') {
            // while technically this is not a default value of NULL,
            // this seems to be closest in meaning.
            return null;
        } else {
            try {
                $dt = new DateTime($this->created_at);
            } catch (Exception $x) {
                throw new PropelException("Internally stored date/time/timestamp value could not be converted to DateTime: " . var_export($this->created_at, true), $x);
            }
        }

        if ($format === null) {
            // Because propel.useDateTimeClass is TRUE, we return a DateTime object.
            return $dt;
        } elseif (strpos($format, '%') !== false) {
            return strftime($format, $dt->format('U'));
        } else {
            return $dt->format($format);
        }
    }

共有1个答案

葛晔
2023-03-14

首先,异常看起来像是在字段中找到了字符串Cook。我会var_dump($this-

一旦确定情况并非如此,请尝试给出字符串的格式。不要使用new DateTime()

$dt = date_create_from_format('Y-m-d H:i:s', $this->created_at);

或者更好:

$dt = date_create_from_format($format, $this->created_at);

 类似资料:
  • 代码顺序 IndexController 订单控制器 订单生成器 订单服务 html 错误 模板解析时出错(模板:"类路径资源[模板/订单/list.html]") 评估SpringEL表达式的异常:“order.id”(模板:“订单/列表”-第19行,第9栏) EL1008E:在“reactor.core.publisher”类型的对象上找不到属性或字段“id”。FluxOnAssembly’-

  • 我以< code > " score timestamp ":" 2015-04-15t 10:00:00 . 000 z ",的形式传递日期,并希望使用方法将此json保存为数据库中的字符串 我希望日期为:“ScoreTimestamp”:“2015-04-15 10:00”,其中作为对象Mapper正在将其转换为: 有人能帮帮我吗?

  • 问题内容: 谁能告诉我这段代码有什么问题: 输出是: 当输入时间以毫秒为单位时,请注意以分钟为单位的差异。 问题答案: 对于,毫秒格式的值包含大写字符,而不是秒的小写字符。 秒(秒)55 毫秒数978 它解释为秒,并将这些秒(847秒是13分钟47秒)添加到您的值中。 使用毫秒。 顺便说一句,如果相同,则无需多次创建。您可以创建一次,将其保存到变量中,然后多次调用,对于您要解析的每个日期/时间字符

  • 当我试图从我的thymeleaf html表单中保存一个Date输入到控制器时,我收到一条错误消息。它似乎是作为字符串从表单中发送的,但我希望它作为Date发送。我设置了输入类型=date,所以我不确定它为什么出错。这是错误: 下面是该部分的html代码,expirationDate是我发送回控制器的卡对象的一个属性: 这是控制器。获取日期值并在表单中预先填写可以很好地工作,但由于某种原因,当我提

  • 问题内容: 我有一个系统(用Python开发),它接受 datetime作为各种格式的字符串 ,我必须 解析 它们。当前datetime字符串格式是: 现在我想要一个可以在适当的datetime对象中转换任何这些datetime格式的 通用解析器… 否则,我必须单独分析它们。因此,还请提供单独解析它们的方法(如果没有通用解析器)。 问题答案: 正如@TimPietzcker所建议的那样,dateu

  • 我有下面的字符串s1。 字符串s1=“2021-10-12T14:28:46.615 00:00” 我想将其转换为完全相同的java.util.Date实例- 2021-10-12T14:28:46.615 00:00 使用下面是返回"2021-10-12T14:38:15.000-0400" 下面使用的是抛出解析错误 日期d1=日期格式。解析(s1); 请告知我应该使用的日期格式