时间格式转换问题 $time='2013-11-01 22:26:56';echo date('Y-m-d H:i:s',strtotime($time)-3); //3秒前echo "<br>";echo date('Y-m-d H:i:s',strtotime($time)-3*24*60*60); //3天前 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 function time_since($since) { $chunks = array( array(60 * 60 * 24 * 365 , 'year'), array(60 * 60 * 24 * 30 , 'month'), array(60 * 60 * 24 * 7, 'week'), array(60 * 60 * 24 , 'day'), array(60 * 60 , 'hour'), array(60 , 'minute'), array(1 , 'second') ); for ($i = 0, $j = count($chunks); $i < $j; $i++) { $seconds = $chunks[$i][0]; $name = $chunks[$i][1]; if (($count = floor($since / $seconds)) != 0) { break; } } $print = ($count == 1) ? '1 '.$name : "$count {$name}s"; return $print;} 代码如下:<!--{if $login.userid == $home.userid}--> <!--{$home.regtime}-->网页显示的时间格式是:1382972373.怎样把这种时间格式转换成3秒前或3天前这种格式显示 这种更方便,不用转了:$time='1382972373';echo date('Y-m-d H:i:s',$time-3); //3秒前echo "<br>";echo date('Y-m-d H:i:s',$time-3*24*60*60); //3天前如果想结果也显示时间戳,就不用date转:$time='1382972373';echo $time-3; //3秒前echo "<br>";echo $time-3*24*60*60; //3天前[/code] 你说的是显示为weibo那种多少分钟前发布的吧?我发的那个函数就可以。 是的,就象weibo那种多少分钟前发布,那怎样调用? <script language="javascript">function time_since($home.regtime) { $chunks = array( array(60 * 60 * 24 * 365 , 'year'), array(60 * 60 * 24 * 30 , 'month'), array(60 * 60 * 24 * 7, 'week'), array(60 * 60 * 24 , 'day'), array(60 * 60 , 'hour'), array(60 , 'minute'), array(1 , 'second') ); for ($i = 0, $j = count($chunks); $i < $j; $i++) { $seconds = $chunks[$i][0]; $name = $chunks[$i][1]; if (($count = floor($home.regtime / $seconds)) != 0) { break; } } $print = ($count == 1) ? '1 '.$name : "$count {$name}s"; return $print; }</script>添加这些代码无效果,网页无任何反应,该怎样调用? 引用你那段代码也不行,如下:<!--{if $login.userid == $home.userid}--> $time='1382972373'; echo date('Y-m-d H:i:s',$time-3); //3秒前 echo "<br>"; echo date('Y-m-d H:i:s',$time-3*24*60*60); //3天前 结果页显示的是源代码,根本没编绎. 模板源代码如下:<!--{if $login.userid == $home.userid}--><!--{$home.regtime}-->那怎样加入你那段代吗呢?试了次多不行 人家的函数是PHP的,你用到JS里,太有才了 function sgmdate($dateformat, $format=0) { $result = ''; if($format) { $time = time() - $dateformat; if($time > 24*3600) { $result = date('Y-m-d',$dateformat); } elseif ($time > 3600) { $result = intval($time/3600).'小时前'; } elseif ($time > 60) { $result = intval($time/60).'分钟前'; } elseif ($time > 0) { $result = $time.'秒前前'; } else { $result = '刚刚'; } } else { $result = date('Y-m-d',$dateformat); } return $result;}这个放在你的一个php文件里,你调用该php文件,然后在你的模版中调用:<!--{sgmdate($home.regtime,1)}-->就OK 还是不明白"这个放在你的一个php文件里,你调用该php文件"这句话,怎样调用php文件呢? 你使用的是什么模板引擎?(看上去像是 Smarty)模板引擎都可以自定义模板函数,但不同的模板引擎对于自定义函数的约定与调用是不同的 是 Smarty模板引擎,那怎样调用? http://www.baidu.com/s?wd=Smarty%E6%A8%A1%E6%9D%BF%E5%87%BD%E6%95%B0&ie=utf-8 看了还是不太明白,能讲详细点吗?比如下面这段代码修改成 Smarty模板函数要怎样修改?function sgmdate($dateformat, $format=0) { $result = ''; if($format) { $time = time() - $dateformat; if($time > 24*3600) { $result = date('Y-m-d',$dateformat); } elseif ($time > 3600) { $result = intval($time/3600).'小时前'; } elseif ($time > 60) { $result = intval($time/60).'分钟前'; } elseif ($time > 0) { $result = $time.'秒前前'; } else { $result = '刚刚'; } } else { $result = date('Y-m-d',$dateformat); } return $result; } 还有在模板代码中如何调用,怎样修改,模板源代码如下:<!--{if $login.userid == $home.userid}--><!--{$home.regtime}--> 看了还是不太明白,能讲详细点吗?比如下面这段代码修改成 Smarty模板函数要怎样修改?function sgmdate($dateformat, $format=0) { $result = ''; if($format) { $time = time() - $dateformat; if($time > 24*3600) { $result = date('Y-m-d',$dateformat); } elseif ($time > 3600) { $result = intval($time/3600).'小时前'; } elseif ($time > 60) { $result = intval($time/60).'分钟前'; } elseif ($time > 0) { $result = $time.'秒前前'; } else { $result = '刚刚'; } } else { $result = date('Y-m-d',$dateformat); } return $result; } 还有在模板代码中如何调用,怎样修改,模板源代码如下:<!--{if $login.userid == $home.userid}--><!--{$home.regtime}-->Smarty模板引擎那你就在你的PHP文件里找到$tpl -> assign("home", $home);在这个之前加下面这么一句就OK:$home['regtime']=sgmdate($home['regtime'],1); :#2002 - 服务器没有响应 (或者本地 MySQL 服务器的套接字没有正确配置)怎么弄 想做个服装企业的外贸网站,哪里可以下载一个免费的源代码?。谢谢。 如何看网站的源码 phpexcelreader遇到×(乘号),怎么处理? 谁用XAMPP开发PHP 弱类型好吗?好在哪,我不知道 PHP 安装到Linux虚拟主机出现的问题? 请问 String 的长度是多少 找高手修改DZ论坛,价格面议 关于tp3.2有时候会出现:_STORAGE_WRITE_ERROR_ 的问题 淘宝API 回调URL页面代码问题 关于PHP中的while跟sleep的mysql查询问题
$chunks = array(
array(60 * 60 * 24 * 365 , 'year'),
array(60 * 60 * 24 * 30 , 'month'),
array(60 * 60 * 24 * 7, 'week'),
array(60 * 60 * 24 , 'day'),
array(60 * 60 , 'hour'),
array(60 , 'minute'),
array(1 , 'second')
); for ($i = 0, $j = count($chunks); $i < $j; $i++) {
$seconds = $chunks[$i][0];
$name = $chunks[$i][1];
if (($count = floor($since / $seconds)) != 0) {
break;
}
} $print = ($count == 1) ? '1 '.$name : "$count {$name}s";
return $print;
}
<!--{if $login.userid == $home.userid}-->
<!--{$home.regtime}-->
网页显示的时间格式是:1382972373.怎样把这种时间格式转换成3秒前或3天前这种格式显示
echo date('Y-m-d H:i:s',$time-3); //3秒前
echo "<br>";
echo date('Y-m-d H:i:s',$time-3*24*60*60); //3天前如果想结果也显示时间戳,就不用date转:$time='1382972373';
echo $time-3; //3秒前
echo "<br>";
echo $time-3*24*60*60; //3天前[/code]
你说的是显示为weibo那种多少分钟前发布的吧?我发的那个函数就可以。
function time_since($home.regtime) {
$chunks = array(
array(60 * 60 * 24 * 365 , 'year'),
array(60 * 60 * 24 * 30 , 'month'),
array(60 * 60 * 24 * 7, 'week'),
array(60 * 60 * 24 , 'day'),
array(60 * 60 , 'hour'),
array(60 , 'minute'),
array(1 , 'second') );
for ($i = 0, $j = count($chunks); $i < $j; $i++) {
$seconds = $chunks[$i][0];
$name = $chunks[$i][1];
if (($count = floor($home.regtime / $seconds)) != 0) {
break;
}
}
$print = ($count == 1) ? '1 '.$name : "$count {$name}s";
return $print;
}
</script>
添加这些代码无效果,网页无任何反应,该怎样调用?
<!--{if $login.userid == $home.userid}-->
$time='1382972373'; echo date('Y-m-d H:i:s',$time-3); //3秒前 echo "<br>"; echo date('Y-m-d H:i:s',$time-3*24*60*60); //3天前
结果页显示的是源代码,根本没编绎.
<!--{if $login.userid == $home.userid}-->
<!--{$home.regtime}-->
那怎样加入你那段代吗呢?试了次多不行
$result = '';
if($format) {
$time = time() - $dateformat;
if($time > 24*3600) {
$result = date('Y-m-d',$dateformat);
} elseif ($time > 3600) {
$result = intval($time/3600).'小时前';
} elseif ($time > 60) {
$result = intval($time/60).'分钟前';
} elseif ($time > 0) {
$result = $time.'秒前前';
} else {
$result = '刚刚';
}
} else {
$result = date('Y-m-d',$dateformat);
}
return $result;
}
这个放在你的一个php文件里,你调用该php文件,然后在你的模版中调用:
<!--{sgmdate($home.regtime,1)}-->
就OK
模板引擎都可以自定义模板函数,但不同的模板引擎对于自定义函数的约定与调用是不同的
function sgmdate($dateformat, $format=0) { $result = ''; if($format) { $time = time() - $dateformat; if($time > 24*3600) { $result = date('Y-m-d',$dateformat); } elseif ($time > 3600) { $result = intval($time/3600).'小时前'; } elseif ($time > 60) { $result = intval($time/60).'分钟前'; } elseif ($time > 0) { $result = $time.'秒前前'; } else { $result = '刚刚'; } } else { $result = date('Y-m-d',$dateformat); } return $result; } 还有在模板代码中如何调用,怎样修改,模板源代码如下:<!--{if $login.userid == $home.userid}-->
<!--{$home.regtime}-->
function sgmdate($dateformat, $format=0) { $result = ''; if($format) { $time = time() - $dateformat; if($time > 24*3600) { $result = date('Y-m-d',$dateformat); } elseif ($time > 3600) { $result = intval($time/3600).'小时前'; } elseif ($time > 60) { $result = intval($time/60).'分钟前'; } elseif ($time > 0) { $result = $time.'秒前前'; } else { $result = '刚刚'; } } else { $result = date('Y-m-d',$dateformat); } return $result; } 还有在模板代码中如何调用,怎样修改,模板源代码如下:<!--{if $login.userid == $home.userid}-->
<!--{$home.regtime}-->
Smarty模板引擎
那你就在你的PHP文件里找到
$tpl -> assign("home", $home);
在这个之前加下面这么一句就OK:
$home['regtime']=sgmdate($home['regtime'],1);