我正在为我的俱乐部创建一个网站,我想提出一个功能,在我发布的每篇新博文中都有一个图片说“新!”在它旁边。但是,我希望这个图像在一天后消失。有人能告诉我如何计算这个图像只能在24小时内看到吗?
由于
答案 0 :(得分:1)
旧变量必须保存为默认日期。 捕获日期旧的示例:
date_limit=new Date();
temp1=date_limit.getTime();
temp2=parseInt(-1*24*60*60*1000);
total=date_limit.setTime(temp1+temp2);
在检查时将是:
date_new=new Date();
if (date_new<date_limit)
{
//show image
}
答案 1 :(得分:1)
这通常被认为是在服务器端完成的。除非你的目标是为那些让你的页面“永远”打开的特定人物提供服务:P
在每个帖子上加上时间戳,通常称为“模型”。
向任何观看者显示您的页面到网站称为“查看”。
所以基于不知道你的实现是什么,我不能给你任何代码,但它会类似于这样的东西,
if sucess_on_post:
save_time_now()
当你渲染页面时,做一些这样的事情(它可以在前端或后端),
posted_time = load_stored_time()
if now() > posted_time + 24 * 60 * 60:
hide_label()
答案 2 :(得分:0)
那是由PHP完成的。
你可以做两件事。首先,您必须保存您的博客添加到另一个列中的日期/时间。然后你必须检查我今天的博客日期/时间。
因此,如果您选择使用Date()功能:[d.m.Y或11.06.2015] 例如:
<?php
$q = mysql_query(...);//your query
while($r = mysql_fetch_array($q)) {
$date = $r['date'] // the row that you had to create in mysql to write the post date there ..
$today = date("d.m.Y"); // this wil output the TODAY date in the format from above [..]
if($today == $date){ $new = "IT'S NEWWW !!! "; }else{ $new=" its not new :( ";}
echo " blog post -> added in ".$date." -> $new <br />";
}
?>
嗯,没关系,但还有另一种节省时间的方法,那就是TIME()功能 例如:
$q = mysql_query(...);//your query
$status = "";
while($r = mysql_fetch_array($q)) {
$date = $r['date']; // this wil output the datey in this way -> 124341241451
$now = time(); // NOW in ms
$days_need_to_pass = 1; // how many days you want to say -> NEW
if( $date > ($now - ($days_need_to_pass * 86400)) )
{
$status = " <b>NEW</b> ";
}
echo "blog post -> added -> ".date("d.m.Y", $date)." -> ".$status." <br />";
}
这不简单,但我希望你能理解...... :)
答案 3 :(得分:0)
尝试使用此javascript:
setTimeout(function() {
$('#newimg').fadeOut('fast');
}, 86400000); // <- 24 hours in milliseconds