0
A
回答
0
不要在數據庫中存儲帶時區的日期。在UTC中的db存儲(默認Laravel配置)中,當您的某些用戶選擇其他默認時區時,您將轉換此基準日期。
用戶模型應該包含字段「timezone」,例如:'Europe/London'或'Europe/Warsaw'或'Asia/Vladivostok'。你可以在camroncade/timezone package找到所有時區。接下來,當您在應用程序中顯示日期時間時,您會將用戶的時區附加到Carbon datetime對象並將其轉換爲適當的時間。
$value // your base UTC datetime
$value = new Carbon($value);
$value->setTimezone(Auth:user()->timezone);
print $value->format('Y-m-d H:i:s') // datetime in user's timezone
請記住,您可以通過在型號外徑BaseModel覆蓋默認asDateTime方法使用日期鑄造自動轉換過程。
protected function asDateTime($value)
{
if($value instanceof Carbon) {
return $value;
} elseif($value instanceof \DateTime) {
$value = $value->format('Y-m-d H:i:s');
}
$value = new Carbon($value);
if(Auth::user()) {
$value->setTimezone(Auth::user()->timezone);
}
return $value;
}
這個方法將每個你會要求在模型中定義日期時間字段中保護$日期財產發射時間(created_at,的updated_at是默認值)。
0
您可以使用datetime和時間戳。最好去datetime這是很好的檢索數據類型。
0
總是嘗試以毫秒爲單位存儲日期時間,以便您可以在特定的時區轉換該日期時間。你可以使用varchar和string(在laravel中)來存儲它。
相關問題
- 1. php變量數據類型
- 2. 變量數據類型
- 3. 數據類型* <變量名稱>與數據類型* <變量名稱>之間的區別
- 4. 浮點變量和雙變量數據類型之間的區別
- 5. 改變分區表列數據類型
- 6. 變量函數中的變量數據類型參數
- 7. Postgres的批量數據類型變化
- 8. 變量數據類型的用途
- 9. ada中變量的數據類型
- 10. 引用變量的數據類型(Java)
- 11. 可用作數據類型的變量。
- 12. Python:更改變量的數據類型
- 13. Python中的變量和數據類型
- 14. 表變量中的表數據類型
- 15. 參數類類型變量
- 16. 分配新的時候定義變量的數據類型?
- 17. 變量聲明和數據類型
- 18. MATLAB uint8數據類型變量保存
- 19. 變量數據類型及其更改
- 20. DynamoDBMapper轉換變量數據類型
- 21. Shopify:全球變量數據類型
- 22. Haskell中的變量關聯類型/數據類型
- 23. ActionScript - 非類型變量的默認數據類型?
- 24. 在PostgreSQL中分配臨時變量的特定數據類型
- 25. 在存在時包裝類型類型函數時模糊類型變量
- 26. 類型的「變量」,類型爲「可變」
- 27. 針對MYSQL數據類型檢查PHP變量類型
- 28. 在POJO爲神諭TIMESTAMP Java變量數據類型(6)類型
- 29. .NET泛型類實例 - 傳遞變量數據類型
- 30. 如何在變量爲整數時打印變量類型
您好,我在$ value = new Carbon($ value)時出錯了;錯誤說DateTime :: __構造():無法解析時間字符串(1474430400)在位置8(0):意外的字符@Adiasz –
即時通訊使用laravel 5.3 –
1474430400 - 是日期時間戳,所以你必須創建對象的方式$ value = Carbon :: createFromTimestamp(1474430400);如果您有多種格式的日期,那麼您需要檢查是否在創建碳對象之前。看看文檔http://carbon.nesbot.com/docs/ – Adiasz