【发布时间】:2014-03-14 22:27:08
【问题描述】:
我正在使用 Yii Wheels 日期选择器来选择日期,我尝试通过 Yii ActiveRecord 将日期保存到数据库中,它运行良好。现在我想存储 Unix 时间戳而不是日期本身。我已经尝试了从 PHP Date 类到 strtotime 的所有建议,但没有成功。 Yii 的 CDateTimeParser::parse 也不起作用。插入的日期始终是 unix 纪元,所以我知道我的转换不起作用。我的日期格式为1972-03-02
我的想法已经用完了。
这是我的代码:
protected function beforeSave()
{
if(parent::beforeSave())
{
//change date to Unix time stamp
$this->ccalstartdate = CDateTimeParser::parse($this->ccalstartdate, 'yyyy-MM-dd');
$this->ccalenddate = CDateTimeParser::parse($this->ccalenddate, 'yyyy-MM-dd');
}
return parent::beforeSave();
}
编辑 在调试器中运行后,我可以看到转换正确,但值未正确保存到数据库。所以还有别的原因。在调用 AR save 之前,属性都是正确的。所以我猜这个方法根本不是原因。
【问题讨论】:
-
如果没有任何效果,您是否绝对确定格式正确,您使用的是
-,而不是 HTML —? -
你在做
parent::beforeSave()twise!也许是这样 -
@MarkBaker 抱歉回复晚了,我必须好好睡一觉。你能打破你在问题中的意思吗?我已经输入了我使用的格式,并且我使用的是
-的破折号,而不是 html 等价物,如果这是您要我解释的内容。 -
@tinybyte 刚刚认出它现在让我纠正它并再次重新测试
标签: php mysql date yii unix-timestamp