php獲取當前日期時間,php寫時間 自動,ThinkPHP6.0 自動寫入時間戳

 2023-10-02 阅读 23 评论 0

摘要:系統支持自動寫入創建和更新的時間戳字段(默認關閉),有兩種方式配置支持。第一種方式是全局開啟,在數據庫配置文件中進行設置:// 開啟自動寫入時間戳字段'auto_timestamp' => true,第二種是在需要的模型類里面單獨開啟:<?php n

系統支持自動寫入創建和更新的時間戳字段(默認關閉),有兩種方式配置支持。

第一種方式是全局開啟,在數據庫配置文件中進行設置:

// 開啟自動寫入時間戳字段'auto_timestamp' => true,

第二種是在需要的模型類里面單獨開啟:<?php

namespace app\model;use think\Model;class User extends Model{

php獲取當前日期時間。protected $autoWriteTimestamp = true;

}

又或者首先在數據庫配置文件中全局開啟,然后在個別不需要使用自動時間戳寫入的模型類中單獨關閉:

namespace app\model;use think\Model;class User extends Model{

protected $autoWriteTimestamp = false;

}

用php輸出今天的日期。一旦配置開啟的話,會自動寫入create_time和update_time兩個字段的值,默認為整型(int),如果你的時間字段不是int類型的話,可以直接使用:

// 開啟自動寫入時間戳字段'auto_timestamp' => 'datetime',

或者

namespace app\model;use think\Model;class User extends Model{

protected $autoWriteTimestamp = 'datetime';

}

thinkphp5.1開發手冊、默認的創建時間字段為create_time,更新時間字段為update_time,支持的字段類型包括timestamp/datetime/int。

寫入數據的時候,系統會自動寫入create_time和update_time字段,而不需要定義修改器,例如:

$user = new User();$user->name = 'thinkphp';

$user->save();

echo $user->create_time; // 輸出類似 2016-10-12 14:20:10

echo $user->update_time; // 輸出類似 2016-10-12 14:20:10

thinkphp偽靜態?時間字段的自動寫入僅針對模型的寫入方法,如果使用數據庫的更新或者寫入方法則無效。

時間字段輸出的時候會自動進行格式轉換,如果不希望自動格式化輸出,可以把數據庫配置文件的 datetime_format參數值改為false

datetime_format參數支持設置為一個時間類名,這樣便于你進行更多的時間處理,例如:

// 設置時間字段的格式化類'datetime_format' => '\org\util\DateTime',

該類應該包含一個__toString方法定義以確保能正常寫入數據庫。

如果你的數據表字段不是默認值的話,可以按照下面的方式定義:

php將時間戳轉換為日期,namespace app\model;use think\Model;

class User extends Model {

// 定義時間戳字段名

protected $createTime = 'create_at';

protected $updateTime = 'update_at';}

下面是修改字段后的輸出代碼:

laravel thinkphp、$user = new User();

$user->name = 'thinkphp';$user->save();

echo $user->create_at; // 輸出類似 2016-10-12 14:20:10

echo $user->update_at; // 輸出類似 2016-10-12 14:20:10

如果你只需要使用create_time字段而不需要自動寫入update_time,則可以單獨關閉某個字段,例如:

namespace app\model;

thinkphp和php一樣嗎。use think\Model;class User extends Model {

// 關閉自動寫入update_time字段

protected $updateTime = false;

}

支持動態關閉時間戳寫入功能,例如你希望更新閱讀數的時候不修改更新時間,可以使用isAutoWriteTimestamp方法:

$user = User::find(1);

unix時間戳在線轉換工具。$user->read +=1;

$user->isAutoWriteTimestamp(false)->save();

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/4/109888.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息