Php 日期到Unix时间:为什么不';这不管用吗?

Php 日期到Unix时间:为什么不';这不管用吗?,php,mysql,date,yii,unix-timestamp,Php,Mysql,Date,Yii,Unix Timestamp,我使用YiIWheels日期选择器来选择日期,我试图通过YiIActiveRecord将日期保存到数据库中,效果很好。现在我想存储Unix时间戳,而不是日期本身。我尝试了从PHP日期类到strotime的所有建议,但都没有成功。Yii的CDateTimeParser::parse也不起作用。插入的日期总是unix历元,因此我知道转换不起作用。我的日期格式为1972-03-02 我已经没有主意了 这是我的密码: protected function beforeSave() {

我使用YiIWheels日期选择器来选择日期,我试图通过YiIActiveRecord将日期保存到数据库中,效果很好。现在我想存储Unix时间戳,而不是日期本身。我尝试了从PHP日期类到strotime的所有建议,但都没有成功。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之前,属性都是正确的。所以我想这种方法根本不是原因。

我打错了仗。上面的代码工作得很好。问题是我在我的视图小部件中使用了
zii.widgets.CDetailView
来检查值。小部件正在转换东西,失败时(使用内部格式),它打印了错误的号码。我检查了数据库值,它们被正确地存储为unix时间戳。
谢谢所有试图帮助的人。下次我要更小心

如果什么都不起作用,您是否绝对确定格式正确,您使用的是
-
而不是HTML—?您正在做的
parent::beforeSave()
twise!也许这就是问题所在case@MarkBaker对不起,我回复晚了,我得好好睡一觉。你能稍微打断一下你的问题是什么意思吗?我已经使用了一种格式,我使用了一个破折号,它不是html的等价物,如果这是你要我解释的话。@tinybyte刚刚识别出来,现在让我纠正一下,然后重新测试