PHP 检查 DateTime 的实例?

Posted

技术标签:

【中文标题】PHP 检查 DateTime 的实例?【英文标题】:PHP check for instance of DateTime? 【发布时间】:2012-03-23 01:14:12 【问题描述】:

在我的 DateTime 类的例子中,这是检查对象是否是类的实例的唯一方法吗?

$cls = ReflectionClass("DateTime");
if (! $cls->isInstance( (object) $var ) ) 
    // is not an instance

对我来说似乎有点沉重。

【问题讨论】:

另请参阅:How to know what class is an object instance of? (php5)(并非真正重复) 【参考方案1】:

你可以试试instanceof­Docs...

if ($var instanceof DateTime) 
  // true

另见is_a­Docs

if (is_a($var, 'DateTime')) 
  // true

【讨论】:

伙计,我在 google 上没有找到任何关于那个的 .. :/ 谢谢!【参考方案2】:

你可以像这样使用 get_class 函数:

<?php

    $a = new DateTime();
    if (get_class($a) == 'DateTime') 
        echo "Datetime";
    

【讨论】:

@redolent 如果您使用 Symfony 或其他使用命名空间的框架,您可能需要在文件顶部声明 use \DateTime 以使其在根命名空间中查找 DateTime (不是您应用的命名空间)。【参考方案3】:

instanceof呢

【讨论】:

【参考方案4】:

if ($var instanceof DateTime)

【讨论】:

以上是关于PHP 检查 DateTime 的实例?的主要内容,如果未能解决你的问题,请参考以下文章

相对模板中的 PHP 微秒

类 [DateTime('@-1')] 的 PHP 对象实例在另一个类中作为常量

如何在 Django REST Framework HTML 表单中自动设置 DateTime 字段的值?

时间datetime模块

datetime

datetime处理日期和时间