读书人

求购物“秒杀”写法 怎么获取服务器时

发布时间: 2012-09-18 16:21:42 作者: rapoo

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

[解决办法]
点击按钮,触发 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;  });  }  }  }}); 


[解决办法]
使用timer控件实现倒计时功能,然后到了时间进行判断,给段倒计时的例子

C# code
private DateTime dtExam = DateTime.Parse("2010-07-26 17:42:00"); //定义时间到期时间   protected void timerCD_Tick(object sender, EventArgs e)    {    if (this.dtExam < DateTime.Now) //如果设置的时间已过  {  this.timerCD.Enabled = false; //将Timmer置为false  labTimes.Text = "时间到!";  }    else    {  RefreshTime(); //刷新时间  }    }    private void RefreshTime() //刷新时间的方法  {    TimeSpan ts = this.dtExam - DateTime.Now; //时间差  this.labDays.Text = ts.Days.ToString().PadLeft(2, '0') + "天";    this.labTimes.Text = ts.Hours.ToString().PadLeft(2, '0') + ":" + ts.Minutes.ToString().PadLeft(2, '0') + ":" + ts.Seconds.ToString().PadLeft(2, '0');    }前台代码:<form id="form1" runat="server">  <div>   </div>   <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>   <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>  时<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>分<asp:ScriptManager ID="ScriptManager1" runat="server">  </asp:ScriptManager>  <asp:UpdatePanel ID="UpdatePanel1" runat="server">  <ContentTemplate>  <asp:Timer ID="timerCD" runat="server" Interval="1000" OnTick="timerCD_Tick">  </asp:Timer>  <asp:Label ID="labDays" runat="server" Width="155px"></asp:Label><asp:Label ID="labTimes" runat="server" Width="155px"></asp:Label>  </ContentTemplate>  </asp:UpdatePanel>  </form>
[解决办法]
DateTime.Now()获取服务端时间,如果等于你之前设定的“秒杀时间点”就执行你要做的工作。
[解决办法]
就是一个时间的判断 服务器时间到规定时间就执行事件 不到就提示秒杀时间未到、

读书人网 >asp.net

热点推荐