作者timyau (伟哉!33WR)
看板PHP
标题[请益] 请教php query SQL 日期的问题....
时间Fri Jun 30 10:29:05 2006
我使用 PHP 来取得存在 SQL Server的日期资料
虽然存在SQL Server,使用 SQL Server来看资料的时候
日期格式是 YYYY/m/d 上午 G:i:s
但是一旦我使用
$sql = "SELECT myDateTime from FORM1 where myDateTime < '2006/06/30'";
$queryResult = mssql_query($sql, $link);
$row = mssql_fetch_array($queryResult);
echo $row['myDateTime'];
这样显示出来的结果却是
2006 五月 18 9:37AM
囧>
为什麽不是跟SQL Server 看到的结果一样啊...
这样我希望显示为 YYYY/mm/dd H:i
就要自己用暴力法去拆月份 还有 後面的 9:37AM
然後变成
// 取月份
//
switch ($month)
{
case '一月':
return 1;
case '二月':
return 2;
.....
}
// 取时间
//
$dtDate = $row['myDateTime'];
// 把前面的日期舍去...
$sDrop = strtok($dtDate, ' \r\n');
$sDrop = strtok(' \r\n');
$sDrop = strtok(' \r\n');
$sHour = strtok(':');
$sMinute = strtok(':');
$iStrlen = strlen($sMinute);
$array = str_split($sMinute);
$iAMPM = 0;
/* 判断时间格式为 xxAM 或 xAM*/
if ($iStrlen == 4)
{
$sMinute = $array[0].$array[1];
if ($array[2] == 'P' && $sHour != 12)
$iAMPM = 12;
else if ($array[2] == 'A' && $sHour == 12)
$iAMPM = -12;
}
else // if ($iStrlen == 3)
{
$sMinute = $array[0];
if ($array[1] == 'P')
$iAMPM = 12;
}
return sprintf("%02d:%02d", $sHour + $iAMPM, $sMinute);
越看越觉得自己好笨...
请问有什麽好方法吗?谢谢。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 202.133.252.2
※ 编辑: timyau 来自: 202.133.252.2 (06/30 10:30)
1F:推 bigair:date("Y/m/d D A h:i:s ", strtotime($datetime)) 06/30 11:00
2F:推 timyau:嗯... 上面的 strtotime 似乎没有作用耶..... 06/30 11:14