我有一個整數列 "duration_temp",其值代表以分鐘為單位的持續時間,我想把這些值復制到另一個時間戳型別的列 "duration "中,我遇到的問題是如何把這些Int分鐘轉換成時間戳格式,例如。 如果一個Int值被設定為4,那么我應該把它轉換為yyyy-mm-dd 00:04:00。 是否有一個函式可以做到這一點或接近于做到這一點?任何建議都將是感激的。
uj5u.com熱心網友回復:
如果你的意思是你只有幾分鐘的時間,并且想用當前的日期資訊制作一個時間戳,請嘗試這樣做(在你的檔案頂部添加use CarbonCarbon;之后):
$minutes = 4;
return Carbon::create(now()->year, now()->month, now()->day, 0, $minutes)->toDateTimeString()。
uj5u.com熱心網友回復:
由于你的整數列duration_temp的單位是分鐘,你必須把它轉換成秒才能得到預期的結果。
以你的例子為例 :
Int = 4 minutes => Int = 4 * 60 = 240 second
完成 :
date ("Y-m-d H:i:s", 240); // will give you 1970-01-01 00:04:00
uj5u.com熱心網友回復:
如果你有一個以分鐘為單位的持續時間。你可以使用DateInterval,像這樣。
$yourDate = new DateTime('2021-01-01 00:00:00')。
$durationInMinutes = 4;
$interval = new DateInterval("PT{$durationInMinutes}M"/span>)。
$yourDate->add($interval)。
echo $yourDate-> format('Y-m-d H:i:s');
https://www.php.net/manual/en/dateinterval.construct.php
uj5u.com熱心網友回復:
DateTime接受廣泛的Relative Formats。這使得作為一個例子:
$durationInMinutes = 67。
$date = date_create('2021-01-01'.$durationInMinutes.' Minutes') 。
/or $date = new DateTime('2021-01-01 '.$durationInMinutes.' Minutes');
echo $date->format('Y-m-d H:i:s') 。
/2021-01-01 01:07:00。
對負的分鐘數也能正確作業。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/324227.html
標籤:
上一篇:AppHttpControllersAuthVerificationController::show(Request$request)的宣告應該與...ControllersController::s
