0

我正在为我的俱乐部创建一个网站,我想添加一个功能,在我发布的每篇新博客文章中,都有一个图片说“新!” 在它旁边。但是,我希望此图像在一天后消失。有人能告诉我如何计时这张图片只能在 24 小时内可见吗?

谢谢

4

4 回答 4

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
}
于 2013-11-07T15:54:16.840 回答
1

这通常被认为是在服务器端完成的。除非您的目标是为使您的页面“永远”保持打开状态的特定人员提供您的页面:P

在每个帖子上加上时间戳,通常称为“模型”。

将您的页面显示给任何访问者访问站点称为“查看”。

所以基于不知道你的实现是什么,我不能给你任何代码,但它会类似于这样的东西,

if sucess_on_post:
    save_time_now()

当你渲染页面时,做这样的事情(它可以在前端或后端),

posted_time = load_stored_time()
if now() > posted_time + 24 * 60 * 60:
    hide_label()
于 2013-12-11T09:34:01.743 回答
0

那是由 PHP 完成的。

你可以做两件事。首先,您必须将您的博客添加到另一个列中的日期/时间保存下来。然后你必须检查我今天不是博客日期/时间。

因此,如果您选择使用Date()函数:[dmY or 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 />";
         }

这并不简单,但我希望你能理解.. :)

于 2013-11-07T15:50:24.570 回答
0

试试这个javascript:

    setTimeout(function() {
    $('#newimg').fadeOut('fast');
}, 86400000); // <- 24 hours in milliseconds
于 2013-11-07T15:55:47.400 回答