2

如何在设置日期后从 Zend_Date 获取工作日名称,

$date = new Zend_Date();
$date->set(strtotime($newDate));

当我使用 return $date::WEEKDAY_NAME时,它总是返回 EE 作为日期名称。

4

1 回答 1

2

这里明显的危险信号是双冒号:它仅用于静态属性和类常量,因此它不能是您获取此特定日期对象(或任何实例数据)的实际“工作日名称”字符串的方式任何形式的)。尽管 PHP 允许您以$date这种方式使用变量,但编写正确的方式Zend_Date::WEEKDAY_NAME可以更清楚地表明您是从访问数据,而不是从对象访问数据。

Zend_Date::WEEKDAY_NAME只是 Zend_Date 的工作日格式字符串的常量(这就是EE您所看到的)。事实上,尽管有名字,它实际上是 2 字符工作日缩写的常量;Zend_Date::WEEKDAY是当天的全称。

您可以使用这些常量作为$date对象方法的参数。toString是返回日期的格式化字符串表示的方法:

$date = new Zend_Date(strtotime($newDate));
return $date->toString(Zend_Date::WEEKDAY);
于 2012-12-18T06:10:55.710 回答