我有Firebird 3.0数据库,有日期和时间戳字段,我使用的是Interbase扩展(是的-仍然是Interbase)和Yii 2框架在PHP 7.x.
Yii::$app->db->createCommand('select order_date from orders where order_id=5');
返回值为的字段:
2019-10-15 00:00:00
AFAIU然后Yii 2使用PDO,这就是为什么我的问题减少到有关PDO的问题. PHP有DateTime扩展,但AFAIU PDO不使用DateTime类(也不使用Unix时间戳-秒的整数),而是根据某种格式返回字符串.
我的问题是-PDO层对SQL日期和时间戳字段使用什么格式字符串?我如何更改该格式字符串?我希望确保返回的日期或时间戳是指定的格式,我可以从该格式创建DateTime示例并进一步操作该示例。例如Firebird 3。0还没有时区,这就是为什么我想调用$dateTimeInstance->setTimezone(...)
来完全指定示例的时区部分,然后我就可以安全地以const string DateTimeInterface::ISO8601 = "Y-m-d\TH:i:sO"
输出值,这是JSON〉普遍接受的日期时间格式
1条答案
按热度按时间uoifb46i1#
如果你想在Yii2中全局配置格式,在你的通用配置中有一些本地化的设置需要设置:
配置示例
时间检查
本地化的时区管理起来很麻烦,所以创建一个页面以便更好地理解本地化的格式。请参阅Yii2 Internationalization Docs