php - 日期到 Unix 时间 : Why don't this work?

标签 php mysql date yii unix-timestamp

我使用 Yii Wheels Date Picker 来选择日期,我尝试通过 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 之前,属性都是正确的。所以我猜这个方法根本不是原因。

最佳答案

我打错了仗。上面的代码工作得很好。问题是我在 View 小部件中使用 zii.widgets.CDetailView 来检查值。小部件正在转换内容,并且在失败时(正在使用其内部格式)它打印了错误的数字。我检查了数据库值,它们被正确存储为 unix 时间戳。 感谢所有试图提供帮助的人。下次一定要小心一点!

关于php - 日期到 Unix 时间 : Why don't this work?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22416884/

相关文章:

jquery - jQuery 获取两个日期之间的年份

mysql - SQL 日期间隔不适用于 AND 子句

php - 在 Laravel 5 中,迁移到删除组合唯一键不起作用

php - 如何使用 Yii2 检查数据库中的数据是否存在?

javascript - 如何在更改 zend 框架布局中的页面时添加 css 类(active)

javascript - PHP JavaScript Bootstrap - 使用 AJAX 的表单字段成功/错误

mysql - 选择边界框内的所有地理空间点

javascript - 如何在 PHP 中使用 javascript 函数在单击按钮时执行 sql 删除查询

mysql - 触发器在mysql中添加元组

应用 DST 更改时 add() 的 java.util.GregorianCalendar 问题