当前位置: 首页 > 面试题库 >

为什么我不能在PHP的DateTime类中访问DateTime-> date?是虫子吗?

窦啸
2023-03-14
问题内容

DateTime如果我尝试运行以下代码,请使用该类:

$mydate = new DateTime();
echo $mydate->date;

我会找回此错误消息

注意:未定义的属性:DateTime :: $ date …

这没有意义,因为在var_dump()变量上运行时$mydate,它清楚地表明此属性存在并且可以公开访问:

var_dump($mydate);

object(DateTime)[1]
  public 'date' => string '2012-12-29 17:19:25' (length=19)
  public 'timezone_type' => int 3
  public 'timezone' => string 'UTC' (length=3)

这是PHP中的错误,还是我做错了什么?我正在使用PHP 5.4.3。


问题答案:

这是一个已知问题。

有效的日期实际上是对var_dump()此处支持的副作用– derick@php.net

由于某些原因,您不应该能够访问该属性,但是var_dump无论如何都要显示它。如果您确实想以该格式获取日期,请使用该DateTime::format()函数。

echo $mydate->format('Y-m-d H:i:s');


 类似资料:
  • 问题内容: 是否可以将MySQL 5.7中DATE( NOT DATETIME )列上的默认值设置为当前日期? 我尝试使用此方法(由Workbench生成): 但不适用于我。(表中没有数据) 问题答案: 你不能。该文档对此非常清楚: 例如,这意味着您不能将日期列的默认值设置为诸如NOW()或CURRENT_DATE之类的函数的值。例外是您可以将CURRENT_TIMESTAMP指定为TIMESTA

  • 问题内容: 我的实体当前包含java Date属性。我开始非常频繁地将Joda Time用于日期处理和计算。这意味着我一直必须将Dates转换为Joda DateTime对象,然后再次转换。 所以我想知道,有什么理由不应该仅更改我的实体来存储Joda DateTime对象而不是Java Date对象吗? 请注意,这些实体通过Hibernate保留。我找到了jodatime-hibernate项目,

  • 问题内容: 如果要将结果插入MySQL 类型列中,传递给PHP函数的正确格式是什么? 我一直在尝试,但是每次都只插入“ 0000-00-00 00:00:00”。 问题答案: 问题是您正在使用和,它们是文本表示形式,MySQL希望使用格式的数字表示形式 尝试:使用数字等效项。 编辑:切换到,尽管可能没有影响,但您可能希望使用前导0的24小时格式。

  • 我正在为我的团队和我正在工作的应用程序寻找一些帮助。几个星期以来,我们都面临着以下问题: null 问题不应该来自云Firestore和应用程序之间的链接,因为我们可以获得其他存储的信息。

  • 本文向大家介绍如何在MySQL中将DATETIME转换为DATE?,包括了如何在MySQL中将DATETIME转换为DATE?的使用技巧和注意事项,需要的朋友参考一下 要将DATETIME转换为MySQL中的DATE,请使用函数。语法如下- 要了解上述语法,让我们首先创建一个表- 借助insert命令将datetime插入表中。查询如下- 显示上面插入的所有记录。查询如下- 以下是输出- 现在,您

  • 问题内容: 我需要将 时间 和 日期 都存储在mysql中。所以我使用了函数。但是我不知道我应该为phpmyadmin 类型列 使用什么。应该注意的是,返回时间和日期都是这样的: 这是一个解决方案,我可以使用分隔符来分隔日期和时间(和),然后将它们分别存储在DATE类型和TIME类型中。或者,我可以使用VARCHAR类型将它们都存储在一列中。但是我认为这些方法不是标准的。存储日期和时间的标准类型是