yii2,将现有unix值转换为查询内的时间戳
正在进行一个激动人心的项目,该项目使用Unix时间戳而不是时间戳作为列,因此我需要使这些值成为可读的时间戳,有没有办法在查询本身中实现这一点yii2,将现有unix值转换为查询内的时间戳,yii2,Yii2,正在进行一个激动人心的项目,该项目使用Unix时间戳而不是时间戳作为列,因此我需要使这些值成为可读的时间戳,有没有办法在查询本身中实现这一点 $query = (new \yii\db\Query()) ->select(['a.created_at', 'a.updated_at', ]) ->from(['a' => 'product']) ->all(); //想
$query = (new \yii\db\Query())
->select(['a.created_at',
'a.updated_at',
])
->from(['a' => 'product'])
->all();
//想法
'created_at' => date('Y-m-d H:i:s')
这应该对你有用
$query = (new \yii\db\Query())
->select([new \yii\db\Expression('from_unixtime(a.updated_at) as updatedAt,
from_unixtime(a.created_at) as createdAt')])
->from(['a' => 'product'])
->all();
或者您可以使用来自UNIX的
(UNIX\u TIMESTAMP(),“%Y%D%M%h:%i:%s%x”)
创建所需格式,如2015年11月13日10:08:01 2015
。有关更多详细信息,请参阅。这应该适合您
$query = (new \yii\db\Query())
->select([new \yii\db\Expression('from_unixtime(a.updated_at) as updatedAt,
from_unixtime(a.created_at) as createdAt')])
->from(['a' => 'product'])
->all();
或者您可以使用来自UNIX的
(UNIX\u TIMESTAMP(),“%Y%D%M%h:%i:%s%x”)
创建所需格式,如2015年11月13日10:08:01 2015
。有关更多详细信息,请参阅。好的,让我先在我的机器上尝试一下,然后再重新发布@user759235您能显示字段的模式详细信息吗?您如何将unix时间戳保存到表中@USER759235因为这个项目不是我自己创建的,我不能说,但是我知道这个列是一个int(11),当我使用yii2格式化程序时,它将返回正确的日期/时间。好的,你能复制保存的时间戳
并用这个查询中的时间戳替换它吗从\u UNIXTIME(1255033470)中选择代码>并尝试运行它它是否正确显示日期@user759235i刚刚验证了它,如果我使用$model->created_at=new\yii\db\Expression('unix_timestamp()')保存unix时间戳,它就会正常工作
然后使用从_unixtime()以可读形式检索它。
使用上述查询正确打印日期,这很奇怪您有最新的yii版本吗@USER759235好的,让我先在我的机器上试用一下,然后再重新发布@USER759235您能显示字段的模式详细信息吗?您如何将unix时间戳保存到电子表格中@USER759235因为这个项目不是我自己创建的,我不能说,但是我知道这个列是一个int(11),当我使用yii2格式化程序时,它将返回正确的日期/时间。好的,你能复制保存的时间戳
并用这个查询中的时间戳替换它吗从\u UNIXTIME(1255033470)中选择代码>并尝试运行它它是否正确显示日期@user759235i刚刚验证了它,如果我使用$model->created_at=new\yii\db\Expression('unix_timestamp()')保存unix时间戳,它就会正常工作
然后使用从_unixtime()以可读形式检索它。
使用上述查询正确打印日期,这很奇怪您有最新的yii版本吗@用户759235