我刚开始使用convert
函数。我试图使一个日期时间值从我的表更短。目前我的日期时间值看起来像这样,2016-10-14 16:51:41
,但我想让它看起来像mm/dd/yy。
我不知道这是否是正确的方法(一定不能因为它不起作用),但我使用convert
函数生成了一个查询,然后用mysqli_fetch_array
获取数据。
$sql = "SELECT id, time, CONVERT(VARCHAR(11), time) as something FROM tableName";
$query = mysqli_query($db, $sql);
$statusnumrows = mysqli_num_rows($query);
// Gather data about parent pm's
if($statusnumrows > 0){
while ($row = mysqli_fetch_array($query, MYSQLI_ASSOC)) {
$time= $row["time"];
}
}
Time
是datetime类型的列的名称。
提前感谢您的建议/意见
您应该在数据库中以适当的数据类型存储日期时间,如datetime等。
我可以看到你正在使用PHP,如果你需要输出这个日期时间在某些界面(如HTML页面),你应该使用PHP函数转换日期的格式,你需要。这是好的做法
DB应该存储数据,但格式化是前端问题。
strtotime()
和date()
的简单示例:
$Date = "2016-10-15";
$newDate = date("m/d/Y", strtotime($Date));
你可以在PHP网站上阅读文档:strtotime and date
如果2012+你可以使用格式(不是很有效,但确实提供了一些其他的可能性)
Declare @Date DateTime = GetDate()
Select UsingFormat = Format(@Date,'MM/dd/yy')
,UsingConvert1 = convert(varchar(10),@Date,1)
,UsingConvert101 = convert(varchar(10),@Date,101)
返回UsingFormat UsingConvert1 UsingConvert101
10/15/16 10/15/16 10/15/2016
为mm/dd/yy
格式使用Convert
函数中的1
样式
select CONVERT(VARCHAR(20), [time],1)
From yourtable
如果你想要mm/dd/yyyy
格式,那么使用101
样式
select CONVERT(VARCHAR(20), [time],101)
From yourtable
各种样式Convert函数的MSDN链接: Convert