14

我想在数据库中输入以下格式的时间戳。

yyyy-mm-dd hh:mm:ss

我怎样才能得到上述格式?

当我使用

$date = new Zend_Date();

它返回 月份 dd, yyyy hh:mm:ss PM

我还使用 JavaScript 日历插入选定的日期,并以dd-mm-yyyy格式返回

现在,我想将这两种格式转换为 yyyy-mm-dd hh:mm:ss 以便可以插入到数据库中。由于日期格式与数据库字段格式不匹配,因此未插入日期,仅填充 * 00-00-00 00:00:00 *

感谢您的回答

4

6 回答 6

26

不确定这是否会对您有所帮助,但请尝试使用:

 // to show both date and time,
 $date->get('YYYY-MM-dd HH:mm:ss');

 // or, to show date only
 $date->get('YYYY-MM-dd') 
于 2011-06-01T13:29:47.993 回答
13

从技术上讲,@stefgosselin 给出了正确的答案Zend_DateZend_Date对于仅以通用格式获取当前时间来说完全是矫枉过正。Zend_Date与 PHP 的原生日期相关扩展相比,使用起来非常缓慢和麻烦。如果您的输出不需要翻译或本地化Zend_Date(而且您显然不需要),请远离它。

为此使用PHP 的本机date函数,例如

echo date('Y-m-d H:i:s');

DateTime 程序 API

echo date_format(date_create(), 'Y-m-d H:i:s');

日期时间对象 API

$dateTime = new DateTime;
echo $dateTime->format('Y-m-d H:i:s');

不要犯一个常见的错误,即使用 Zend Frameworks 提供的每个组件,因为它提供了它。绝对没有必要这样做,事实上,如果您可以使用原生 PHP 扩展以更少或相当的努力实现相同的结果,那么使用原生解决方案会更好。

此外,如果您要在数据库中保存日期,您是否使用了数据库中的任何与DateTime 相关的列?假设您使用的是 MySql,您可以使用 Timestamp 列或 ISO8601 Date 列。

于 2011-06-01T13:36:50.107 回答
4

我就是这样做的:

abstract class App_Model_ModelAbstract extends Zend_Db_Table_Abstract
{

    const DATE_FORMAT = 'yyyy-MM-dd';

    public static function formatDate($date, $format = App_Model_ModelAbstract::DATE_FORMAT)
    {
        if (!$date instanceof Zend_Date && Zend_Date::isDate($date)) {
            $date = new Zend_Date($date);
        }

        if ($date instanceof Zend_Date) {
            return $date->get($format);
        }

        return $date;
    }
}

这样你就不需要关心它是否真的是一个 zend 日期的实例,你可以传入一个字符串或其他任何日期。

于 2011-06-01T20:08:00.393 回答
3

使用 Zend Date 的一种简单方法是在其业务对象中创建特定函数,允许将此函数参数化为日期格式。你可以找到这个地址的一个很好的例子http://www.pylejeune.fr/framework/utiliser-les-date-avec-zend_date/

于 2012-10-23T18:56:31.817 回答
1

这是我做的:
Zend_Date::now->toString('dd-MM-yyyy HH:mm:ss')
这种格式的输出是“24-03-2012 13:02:01”
,你可以修改你的日期格式

于 2013-04-01T02:33:20.727 回答
0

我过去一直使用$date->__toString('YYYY-MM-dd HH-mm-ss');方法,但今天没有用。我得到了“2013 年 11 月 1 日下午 12:19:23”的默认输出

所以今天我$date->get('YYYY-MM-dd HH-mm-ss');按照上面提到的那样使用。似乎解决了我的问题。

您可以在此处找到有关输出格式的更多信息:http: //framework.zend.com/manual/1.12/en/zend.date.constants.html

于 2013-11-01T16:27:02.260 回答