首页 > 解决方案 > Change Default Date format getting from SQL server

问题描述

I got date values from the database in this format 'Jan 1 2019 12:00:00:AM', But I use '2019-01-01' format in my web application.

I am using Laravel, SQL Server, Centos7 and Php 7.

In php.ini ddate format is ibase.timestampformat = "%Y-%m-%d %H:%M:%S".

Please help to change this default format.

标签: phpsql-serverlaraveldate

解决方案


问题可能出在您的 T-SQL 语句中。date如果您存储在或列中,则在读取并转换为字符串(显式或隐式)时,date可能会出现此行为。datetimedatetime2

所以,我们可以有:

DECLARE @Date DATETIME = GETUTCDATE()

SELECT CAST(@Date AS VARCHAR(36))

并得到Dec 4 2019 11:29AM. 这就是为什么在 T-SQL 中我们可以在将日期转换为文本时设置样式。例如:

DECLARE @Date DATETIME = GETUTCDATE()

SELECT CAST(@Date AS VARCHAR(36));          -- Dec  4 2019 11:33AM
SELECT CONVERT(VARCHAR(19), @DATE, 121);    -- 2019-12-04 11:33:52

推荐阅读