我刚开始使用convert
功能。我正在尝试从我的表中缩短日期时间值。目前我的日期时间值看起来像这样2016-10-14 16:51:41
,但我想让它看起来像mm / dd / yy。
我不知道这是否是正确的方法(不能因为它不起作用),但我使用convert
函数生成了一个查询,然后使用{{获取数据1}}。
这是我正在使用的代码:
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"];
}
}
是具有日期时间类型的列的名称。
提前致谢,获取建议/意见。
答案 0 :(得分:2)
您应该在数据库中以适当的数据类型存储日期时间,例如日期时间 etc。
我可以看到你正在使用PHP,如果你需要在某个界面(即HTML页面)中输出这个日期时间,你应该使用PHP函数来转换你需要的格式的日期。这是一种很好的做法
数据库应该存储数据,但格式化是前端问题。
strtotime()
和date()
的简单示例:
$Date = "2016-10-15";
$newDate = date("m/d/Y", strtotime($Date));
答案 1 :(得分:1)
如果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
答案 2 :(得分:0)
在1
格式的Convert
函数中使用样式mm/dd/yy
select CONVERT(VARCHAR(20), [time],1)
From yourtable
如果您想要mm/dd/yyyy
格式,请使用101
样式
select CONVERT(VARCHAR(20), [time],101)
From yourtable
转换函数的MSDN链接,具有各种样式:CONVERT