Twig,格式化日期SQL Server

时间:2014-03-26 10:40:20

标签: php sql-server twig

我在PHP应用程序中使用Twig,

我使用的PHP对象有一个名为“date”的属性,来自SQL Server。

看起来像是:“2014年3月2日12:00:00:000AM”

我尝试使用Twig将其转换为显示它,我尝试使用|日期(“Y-m-d”)没有成功:

在渲染模板期间抛出异常(“DateTime :: __ construct()[function.DateTime --- construct]:无法解析时间字符串(2013年6月20日12:00:00:000AM)第20行(:):第96行“......”中的意外字符“。”

有什么想法吗?

谢谢,

度过愉快的一天。

2 个答案:

答案 0 :(得分:1)

date过滤器可以处理\DateTime个实例和可以传递给strtotime()的字符串,显然你的不是。

你提到你正在使用具有date属性的对象,我建议你添加一个新函数:

public function getDateAsObject()
{
    // should be able to parse this format: Mar 2 2014 12:00:00:000AM
    return \DateTime::createFromFormat("M j Y h:i:s:uA", $this->date);
}

您可能需要调整约定的格式和函数名称。

您可以在模板中使用它:

{{ your_object.dateAsObject|date("Y-m-d" }}

答案 1 :(得分:0)

您不需要使用date('Y-m-d'),根据错误消息,您的对象的日期属性是DateTime的类型,因此请使用以下内容:

// I assume 'object' is your object which has 'date' as the attribute
<span>Date: </span>{{ object->date->format('Y-m-d') }}

检查DateTime::Format

的文档