0

我正在尝试填充一个列表菜单,其中的选择要么是过去的,要么是基于比赛日期的未来的。

我想要 1 个菜单来列出根据当前日期玩过的游戏,以及 1 个菜单来列出尚未玩过的游戏。基本上如果 $gamedate>$daynow 或 $gamedate<=$daynow

我在网上查了一些例子,但我的尝试都没有奏效。也许我需要知道如何将 $gamedate 转换为 unix 时间戳,但我尝试的一切都不起作用。我尝试过:strtotime、DateTime::,并使用“WHERE”和“between”来创建日期范围

$gamedate 是从 MSSQL 数据库分配的,该字段是日期格式

我的想法是将 $gamedate 转换为 UNIX 时间戳并使用它与 time() 进行比较。我认为这是一个整数是否正确,所以使用“>”或“<”会起作用吗?我也对其他方式持开放态度。

<?PHP
$daynow=time()

$sql="Select convert(varchar(5), gamedate, 101) AS d, * WHERE gamedate>=$daynow ORDER BY gamedate ASC"
$stmt=sqlsrv_query($conn, $sql);
while ($row=sqlsvr_fetch_array($stmt, SQLSRV_FETCH_ASSOC)){
echo"this game has not yet been played";
}
?>

或者

<?PHP
$sql="Select convert(varchar(5), gamedate, 101) AS d, * ORDER BY gamedate ASC"
$stmt=sqlsrv_query($conn, $sql);
while ($row=sqlsvr_fetch_array($stmt, SQLSRV_FETCH_ASSOC)){
$gamedate=$row['gamedate'];
$daynow=time();
if ($gamedate>$daynow){
echo"this game has not yet been played";}
elseif ($gamedate<=$daynow){
echo"this game has been played";}
}
?>

我发现的一切都是如何将时间戳转换为字符串

谢谢你

4

1 回答 1

0

检查一下:当 PHP 是您的主要语言时,在 SQL Server 数据库中存储日期/时间的首选格式是什么?我认为这会更有帮助,因为该问题与 MSSQL 有关

于 2013-09-12T14:04:39.817 回答