代码之家  ›  专栏  ›  技术社区  ›  Carol.Kar

将整数时间戳保存到laravel中的时间戳字段

  •  0
  • Carol.Kar  · 技术社区  · 6 年前

    我在用 Laravel Framework 6.16.0 在我的迁移中,我有以下领域:

    $table->timestamp('trx_timestamp', 0)->nullable($value = true);
    

    通过API,我通过以下方式获得字段:

    enter image description here

    目前,我正在简单地保存它,而不进行转换。然而,这确实会导致 0000-00-00 00:00:00 我的数据库中的值。

    有什么建议我做错了什么吗?

    0 回复  |  直到 6 年前
        1
  •  1
  •   Ranga Lakshitha    6 年前

    如果希望将数据(当前为时间戳)保存为日期时间,请将其转换并保存。你可以这样做。

    $date = Carbon::createFromTimestamp($timeStamp)->format('M d Y');
    

    或

    $date = Carbon::parse($timeStamp)->format('M d Y');
    

    检查碳包装,这在处理日期时间时非常有用。

        2
  •  1
  •   M Khalid Junaid    6 年前

    作为参考 this post 如果需要存储unix时间戳,则需要一个整数列。

    在迁移文件中,可以将列定义为

    $table->integer('trx_timestamp');
    

    如果你需要格式化的日期,你可以从中受益 Mutators 并将模型中的访问器定义为

    class YourModel extends Model
    {
        /**
         * Get formatted trx_timestamp.
         *
         * @param  int $value
         * @return string
         */
        public function getTrxTimestampAttribute($value)
        {
            return Carbon::createFromTimestamp($value)->toDateTimeString();
        }
    }