日期:2014-05-17  浏览次数:20414 次

求购物“秒杀”写法 如何获取服务器时间
开发一个购物网站 现在老板让添加秒杀 不知道如何 获取服务器时间 如何下手 思路不清晰 具体秒杀如何实现 还请各位说说 最好有代码 如果没有了解的说说如何实现最好 也是非常感谢的

------解决方案--------------------
点击按钮,触发 onclick事件。。。

就这么简单。。。

当服务器到达设定时间,开启添加。(就是一个if判断,当前 服务器时间是否 = 设定时间。)

如果到了。

就是点击一个按钮,添加一条记录。当添加条数达到数目上限,添加设置无效 (这里也是一个判断)。

(1个ip 1分钟内,只记录1条数据...)
------解决方案--------------------
你用C#代码取得的时间 就是服务器时间呀
------解决方案--------------------
后台 DateTime.Now 就是服务器时间。再根据你的那 秒杀 结束时间,计算出余下秒数。 返回到界面,通过脚本创建倒计时。当脚本倒计时 为 0 秒,返回至服务器端,重新计算 余下秒秒数,如果为 小于 0,则结束所谓的秒杀倒计时。(开启秒杀,可以通过同样的逆向思路)
------解决方案--------------------
3楼正解 网上JS显示 倒计时的蛮多的 你的服务器时间就是你调的系统时间
------解决方案--------------------
http://topic.csdn.net/u/20110122/15/7ca6837f-e0f4-4414-87b9-571bb1a63a4a.html
------解决方案--------------------
C# code

          if (DateTime.Compare(pt.EndTime, DateTime.Now) > 0)//时间对比
        {
              //pt.EndTime就是你数据库设置的结束时间
              //秒杀成功的处理代码
        }
        {
            ShowMessageBox("活动已结束,请关注下次活动!");
        }

------解决方案--------------------
HTML code
$(document).ready(function() {
  //电子电器
  var CountdownTImeE = $("input[id*=txtElectronCountdownTime]").val(); //倒计时

  if (CountdownTImeE != "" && CountdownTImeE != null) {
  var year = CountdownTImeE.split(' ')[0].split('-')[0]; //年
  var month = CountdownTImeE.split(' ')[0].split('-')[1]; //月
  var day = CountdownTImeE.split(' ')[0].split('-')[2]; //日
  var hour = CountdownTImeE.split(' ')[1].split(':')[0]; //时
  var min = CountdownTImeE.split(' ')[1].split(':')[1]; //分
  var second = CountdownTImeE.split(' ')[1].split(':')[2]; //秒
  var time = month + "/" + day + "/" + year + " " + hour + ":" + min + ":" + second;

  var endtime = new Date(time); //时间格式:"7/21/2010 09:48:00"
  var nowtime = new Date();
  var maxtime = (endtime.getTime() - nowtime.getTime()) / 1000;

  var timer = setInterval("daojishiE()", 1000);

  if (maxtime <= 0) {

  $(".xs-qg-qw").eq(0).show();
  $(".xs-qg-qg").eq(0).hide();
  $(".xs-qg-qw").eq(1).show();
  $(".xs-qg-qg").eq(1).hide();
  clearInterval(timer);
  document.getElementById('showdateElectron').innerHTML = "<i>电子电器:</i><b>剩</b><em>00< /em><b>时</b><em>00</em><b>分< /b><em>00</em><b>秒</b>";
  }
  daojishiE = function() {
  if (maxtime >= 0) {
  //day = Math.floor(maxtime / 3600 / 24);
  hours = Math.floor(maxtime / 3600);
  minutes = Math.floor((maxtime / 60) % 60);
  seconds = Math.floor(maxtime % 60);
  msg = "<i>电子电器:</i><b>剩</b>" + "<em>" + hours + "</em>" + "<b>时</b>" + "<em>" + minutes + "</em>" + "<b>分</b>" + "<em>" + seconds + "</em>" + "<b>秒</b>";
  document.getElementById('showdateElectron').innerHTML = msg;
  //if(maxtime == 5*60) alert('注意,还有5分钟!');
  --maxtime;
  }
  else {

  var proid = "";
  $("#divCountdown input[id='hidProidE']").each(function() {
  proid += $(this).val() + ",";
  });
  $.get("/AjaxBehind/DefaultHandler.ashx", { type: "edit", proidlist: proid }, function(data) {
  $("#showdateElectron").html(data);
  clearInterval(timer);
  window.location = window.location;
  });

  }
  }
  }
});