Php 更改从SQL server获取的默认日期格式
我以这种格式从数据库中获取日期值Php 更改从SQL server获取的默认日期格式,php,sql-server,laravel,date,Php,Sql Server,Laravel,Date,我以这种格式从数据库中获取日期值'2019年1月1日12:00:00:AM', 但我在web应用程序中使用了'2019-01-01'格式 我使用的是Laravel、sqlserver、Centos7和php7 在php.iniddate格式为ibase.timestampformat=“%Y-%m-%d%H:%m:%S” 请帮助更改此默认格式。问题可能在您的T-SQL语句中。如果读取并转换为字符串(显式或隐式)时,date存储在date、datetime或datetime2列中,则会出现此行为
'2019年1月1日12:00:00:AM'
,
但我在web应用程序中使用了'2019-01-01'
格式
我使用的是Laravel、sqlserver、Centos7和php7
在php.ini
ddate格式为ibase.timestampformat
=“%Y-%m-%d%H:%m:%S”
请帮助更改此默认格式。问题可能在您的T-SQL语句中。如果读取并转换为字符串(显式或隐式)时,
date
存储在date
、datetime
或datetime2
列中,则会出现此行为
因此,我们可以:
DECLARE @Date DATETIME = GETUTCDATE()
SELECT CAST(@Date AS VARCHAR(36))
并获取2019年12月4日上午11:29的。这就是为什么在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
问题可能在您的T-SQL语句中。如果读取并转换为字符串(显式或隐式)时,date
存储在date
、datetime
或datetime2
列中,则会出现此行为
因此,我们可以:
DECLARE @Date DATETIME = GETUTCDATE()
SELECT CAST(@Date AS VARCHAR(36))
并获取2019年12月4日上午11:29的。这就是为什么在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
听起来您的列不是日期和时间数据类型,而是(n)varchar
。修复数据类型,修复问题。我的列数据类型是“date”。那么它就没有格式了。您看到的格式是由您的演示层定义的。您到底想对日期做什么?SQL查询还是仅显示?在表示层中不使用任何格式。此值是使用Laravel中的dd函数直接从查询中获取的。听起来您的列不是日期和时间数据类型,而是(n)varchar
。修复数据类型,修复问题。我的列数据类型是“date”。那么它就没有格式了。您看到的格式是由您的演示层定义的。您到底想对日期做什么?SQL查询还是仅显示?在表示层中不使用任何格式。该值是使用Laravel中的dd函数直接从查询中获取的。