谢谢!
楼上的,“时间用UNIX时间戳记录”??,偶基础差,能说明白点么??
楼上的,“时间用UNIX时间戳记录”??,偶基础差,能说明白点么??
解决方案 »
- php返回的xmlHttp.status的值一直是403,forbidden,怎么办啊~~~~
- PHP做的系统,下载文件时遇到的问题
- 求一个Rewrite规则 以%号开头的所有字符串
- php二维数组,判断其中元素的值是否相等
- 在PHP中,有什么办法可以知道MySQL里一个表的字段名?
- 打印出的语句到admin里能正确执行 可直接执行不起作用 有什么可能性
- PHP的一个奇怪问题
- php访问远程Oracle服务器是否需安装Oracle客户端?
- 小弟下载smarttemplate模板时,发现好多文件,哪个文件是需要用到的啊
- php数据查询问题
- 分离语言包的时候,中间夹带变量怎么办?
- php怎样处理大xml文件
* @return $imgstr
* @param $aimdate 目標時間
* @param $todate 時間條件
* @param $imgstr 圖片代碼
* @desc 檢查目標時間距現在時間是否滿足時間條件,若滿足,返回指定內容
*/
function datechk($aimdate, $todate, $imgstr){
$tmp=explode('-',$aimdate);
if(date('Y-m-d')<=date('Y-m-d',mktime(0,0,0,$tmp[1],$tmp[2]+$todate,$tmp[0]))){
return ' '.$imgstr;
}
}
$aimdate='2004-11-03';
$todate='7';
$imgstr='<img src="test.gif">';
echo datechk($aimdate, $todate, $imgstr);
if ($timeline > $point) { //如果是24小时内新增的
$topic .= "(new)";
}// $timeline : 这个新闻的时间戳记
// $topic : 新闻标题
$aimdate='2004-11-03';
$todate='7';是给它赋值?
如果$aimdate不是'2004-11-03' 呢?
function subday($regtime)
{
//计算时差,返回天数格式 20040502到今天的时差 $ptime=date("U");
$y1=substr($regtime,0,4)+0;
$m1=substr($regtime,4,2)+0;
$d1=substr($regtime,6,2)+0;
$reg_time1="0,0,01,".$m1.",".$d1.",".$y1;
//$reg_time1="0,0,0,02,01,2003";
// echo $reg_time1; //mktime 参数都要int
$qtime=mktime($reg_time1);
$qtime=mktime(0,0,0,$m1,$d1,$y1);
//echo date("Ymd",mktime(0,0,0,$m1,$d1,$y1));
$day_num=($qtime-$ptime)/(3600*24);
//echo $day_num;
$sub_day1=ceil($day_num);
//echo $sub_day1;
return $sub_day1;
}//$regtime=新闻发布时间; //格式要转换一下,如$regtime="20041105";
$regtime="20041104";//随便改个日期试试
$days=subday($regtime)*(-1);
echo "时间差为".$days."天<BR>";
if($days<=2){
echo "new";
//换上图片也可以
}
?>
function subday($regtime)
{
//计算时差,返回天数格式 20040502到今天的时差 $ptime=date("U");
$y1=substr($regtime,0,4)+0;
$m1=substr($regtime,4,2)+0;
$d1=substr($regtime,6,2)+0;
$reg_time1="0,0,01,".$m1.",".$d1.",".$y1;
//$reg_time1="0,0,0,02,01,2003";
//mktime 参数都要int
$qtime=mktime($reg_time1);
$qtime=mktime(0,0,0,$m1,$d1,$y1);
$day_num=($qtime-$ptime)/(3600*24);
$sub_day1=ceil($day_num);
return $sub_day1;
}//$regtime=新闻发布时间;
$regtime=$fday;
$days=subday($regtime)*(-1);
//echo "时间差为".$days."天<BR>";
if($days<=2){
echo "<img src = 'images/new.gif' border = '0'>";
}
?>我把它用在<a href="readnews.php?id=<?=$fid?>" target="_blank" class="two">
<?=$ftitle?></a>的后面,第一个标题还正常显示,到第二个就报错:
· 标题2
Fatal error: Cannot redeclare subday() (previously declared in E:\ry\gxyy\index.php:104) in E:\ry\gxyy\index.php on line 104咋回事呢??line 104是function subday($regtime)
如果时间是最近的就加一个
new
SELECT *,to_days(now())-to_days(time) as day FROM tbl_name在查询结果中将有day一列,表示插入后到今天的天数。
你只需在输出时判断一下
if($row['day'] <= 2)
echo 'new';
{
//计算时差,返回天数格式 20040502到今天的时差 $ptime=date("U");
$y1=substr($regtime,0,4)+0;
$m1=substr($regtime,4,2)+0;
$d1=substr($regtime,6,2)+0;
$reg_time1="0,0,01,".$m1.",".$d1.",".$y1;
//$reg_time1="0,0,0,02,01,2003";
//mktime 参数都要int
$qtime=mktime($reg_time1);
$qtime=mktime(0,0,0,$m1,$d1,$y1);
$day_num=($qtime-$ptime)/(3600*24);
$sub_day1=ceil($day_num);
return $sub_day1;
}
这段代码一个页面内只能包含一次,函数不能重复申明。
见议你在调用这个函数的页面的尾部加上这段代码,不要放在include require的文件里
if ($newstime > $twoday) { //如果新闻的时间戳记大于两天前的
$XXXX .= "(new)";
}$twoday //表示两天前的时间戳记(就是一个整数)
$newstime//表示新闻被加入时的时间戳记(也是一个整数)
$XXXX .= "(new)";在新闻的标题后加上new
include ("cgi_php/inc/conn.php");
include ("cgi_php/inc/var.php");
$query="select id,title,day from $gxyy_news where type='a' order by id desc limit 0,8";
$result=@mysql_query($query) or die("query error");
while($r=@mysql_fetch_row($result))
{
$fid=$r[0];
$ftitle=$r[1];
$fday=$r[2]; ?>
<tr>
<td height="20" valign="middle"> ·<a href="readnews.php?id=<?=$fid?>" target="_blank" class="two">
</a><a href="readnews.php?id=<?=$fid?>" target="_blank" class="two">
<?=$ftitle?></a>
<?php
function subday($regtime)
{
//计算时差,返回天数格式 20040502到今天的时差 $ptime=date("U");
$y1=substr($regtime,0,4)+0;
$m1=substr($regtime,4,2)+0;
$d1=substr($regtime,6,2)+0;
$reg_time1="0,0,01,".$m1.",".$d1.",".$y1;
//$reg_time1="0,0,0,02,01,2003";
//mktime 参数都要int
$qtime=mktime($reg_time1);
$qtime=mktime(0,0,0,$m1,$d1,$y1);
$day_num=($qtime-$ptime)/(3600*24);
$sub_day1=ceil($day_num);
return $sub_day1;
}//$regtime=新闻发布时间; //格式要转换一下,如$regtime="20041105";
$regtime=$fday;
$days=subday($regtime)*(-1);
//echo "时间差为".$days."天<BR>";
if($days<=2){
echo "<img src = 'images/new.gif' border = '0'>";
}
?>
</td>
</tr>
<?php
}
mysql_free_result($result);
//mysql_close($connid);
?>偶就是这样用那计时差函数的,报错了:
Fatal error: Cannot redeclare subday() (previously declared in E:\ry\gxyy\index.php:104) in E:\ry\gxyy\index.php on line 104 要是用函数都报这个错,是咋回事呀??郁闷哦,函数也没放include require的文件里呀,55555555
偶实在的笨哦
很难想象不使用数据库提供的日期字段而非要自己用字符串或数值组装日期的原因