PHP Zend日期格式

man*_*orn 13 php zend-framework date formatdatetime zend-date

我想以下面的格式输入数据库的时间戳.

yyyy-mm-dd hh:mm:ss
Run Code Online (Sandbox Code Playgroud)

我怎样才能获得以上格式?

我用的时候

$date = new Zend_Date();
Run Code Online (Sandbox Code Playgroud)

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

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

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

谢谢你的回答

ste*_*lin 25

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

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

 // or, to show date only
 $date->get('YYYY-MM-dd') 
Run Code Online (Sandbox Code Playgroud)


Gor*_*don 13

从技术上讲,@stefgosselin给出了正确的答案Zend_Date,但Zend_Date完全是大材小用刚开当前时间的通用格式.Zend_Date与PHP的原生日期相关的扩展相比,使用起来非常缓慢和繁琐.如果您不需要在Zend_Date输出中进行翻译或本地化(并且您显然不这样做),请远离它.

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

echo date('Y-m-d H:i:s');
Run Code Online (Sandbox Code Playgroud)

DateTime程序API

echo date_format(date_create(), 'Y-m-d H:i:s');
Run Code Online (Sandbox Code Playgroud)

DateTime对象API

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

不要使用Zend Frameworks提供的每个组件的常见错误,因为它提供了它.绝对没有必要这样做,事实上,如果您可以使用本机PHP扩展来以较少或相当的努力获得相同的结果,那么您最好使用本机解决方案.

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

  • 我同意那个!;)戈登__always__最了解. (3认同)