是这样的,首先我的数据库有个职位表,发布职位的时候有个发布时间,然后给他定义一个大概几天的一个时间,然后去倒计时,等到了这个时间之后那个信息不能用了,或者换个颜色,给个提示之类的,谢谢!在线等。。。
12 个解决方案
#1
发布时间 一个过期间隔 然后跟 相加跟当前时间比较 做过期判断显示
倒计时不大可能 除非你页面一直开着 只能在加载的时候判断
倒计时不大可能 除非你页面一直开着 只能在加载的时候判断
#2
网上的例子不是你想要的?
倒计时器不都那个样子吗?
用timer控件就可以实现。、、、时间到了执行你想要的,比如说按钮不可用啊。。什么的
倒计时器不都那个样子吗?
用timer控件就可以实现。、、、时间到了执行你想要的,比如说按钮不可用啊。。什么的
#3
你如果不怕效率不高的话,你可以写在Application里
#4
timer 定时自动到表里去查一遍。
#5
有相应的例子吗,我想看看
#7
数据库添俩字段 添加日期, 和 天数
日期年月日的int类型
调用的时候添个条件
"where Addtime+day<"+当前日期的int类型
日期年月日的int类型
调用的时候添个条件
"where Addtime+day<"+当前日期的int类型
#8
直接用js
<script language="javaScript" type="text/javascript">
var timedate= new Date("June 26,2010");
var times= "2010中考";
var now = new Date();
var date = timedate.getTime() - now.getTime();
var time = Math.floor(date / (1000 * 60 * 60 * 24));
if (time >= 0)
document.write( "现在离"+times+"还有: "+time +"天")
</script>
<script language="javaScript" type="text/javascript">
var timedate= new Date("June 26,2010");
var times= "2010中考";
var now = new Date();
var date = timedate.getTime() - now.getTime();
var time = Math.floor(date / (1000 * 60 * 60 * 24));
if (time >= 0)
document.write( "现在离"+times+"还有: "+time +"天")
</script>
#9
你们看看我这个为什么时间不对啊<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<div style="text-align:center;">
<font style="font-weight:bolder; font-size:x-large;">离2010年10月1日 20:00:00 还剩余</font><br /><br />
<asp:Label ID="hour" runat="server" ForeColor="Red" Font-Size="XX-Large" ></asp:Label> 小时
<asp:Label ID="min" runat="server" ForeColor="Red" Font-Size="XX-Large"></asp:Label> 分
<asp:Label ID="sec" runat="server" ForeColor="Red" Font-Size="XX-Large"></asp:Label> 秒
</div>
<asp:Timer ID="Timer1" runat="server" ontick="Timer1_Tick" Interval="1000">
</asp:Timer>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</form>
</body>
protected void Timer1_Tick(object sender, EventArgs e)
{
this.Timer1.Interval = 1000;
getTm();
}
private void getTm()
{
DateTime curTm = DateTime.Now;
DateTime endTm = Convert.ToDateTime("2010-10-1");
this.hour.Text = (endTm - curTm).Hours.ToString();
this.min.Text = (endTm - curTm).Minutes.ToString();
this.sec.Text = (endTm - curTm).Seconds.ToString();
}
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<div style="text-align:center;">
<font style="font-weight:bolder; font-size:x-large;">离2010年10月1日 20:00:00 还剩余</font><br /><br />
<asp:Label ID="hour" runat="server" ForeColor="Red" Font-Size="XX-Large" ></asp:Label> 小时
<asp:Label ID="min" runat="server" ForeColor="Red" Font-Size="XX-Large"></asp:Label> 分
<asp:Label ID="sec" runat="server" ForeColor="Red" Font-Size="XX-Large"></asp:Label> 秒
</div>
<asp:Timer ID="Timer1" runat="server" ontick="Timer1_Tick" Interval="1000">
</asp:Timer>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</form>
</body>
protected void Timer1_Tick(object sender, EventArgs e)
{
this.Timer1.Interval = 1000;
getTm();
}
private void getTm()
{
DateTime curTm = DateTime.Now;
DateTime endTm = Convert.ToDateTime("2010-10-1");
this.hour.Text = (endTm - curTm).Hours.ToString();
this.min.Text = (endTm - curTm).Minutes.ToString();
this.sec.Text = (endTm - curTm).Seconds.ToString();
}
#10
你可以用两个Timer控件,Timer1和Timer2,让1实现全局刷新(下面简称1和2),让2实现局部刷新。先设置1的刷新频率为一个很长很长的时间。设置2的刷新频率为1秒,在2的事件中写事件,这样就可以实现倒计时的功能了!然后再在2的事件中判断下系统时间和你库中存的时间是否相等,相等的那一刻,你就用代码来实现设置1的刷新频率为1秒。这是你只要在1的事件中写你要实现的功能代码,然后在后面接着写Trimer1.Enable = flase;这样1就只刷新了一下,也就在那一下执行了你的操作! 思路是这样的,不知道你看得懂不,我表达能力有限!
#11
我说个思路
总之你可以存到一个结束时间,你存的时候就存结束时间,开始时间只是一个记录
1,(判断当前时间是否答应结束时间)首先我要跟你说的是 时间相减法则(数据库查询可以相减,代码里面也可以相减)(结束时间-当前时间=秒)
2,转换成秒了 放到页面上,用JS的 setTimeout 这个方法执行就好了,当秒小于0时 也就是说结束了,这样性能最好。
总之你可以存到一个结束时间,你存的时候就存结束时间,开始时间只是一个记录
1,(判断当前时间是否答应结束时间)首先我要跟你说的是 时间相减法则(数据库查询可以相减,代码里面也可以相减)(结束时间-当前时间=秒)
2,转换成秒了 放到页面上,用JS的 setTimeout 这个方法执行就好了,当秒小于0时 也就是说结束了,这样性能最好。
#12
private void timer2_Tick(object sender, EventArgs e)
{
DateTime nowday,endday;
string leftday;
nowday = DateTime.Now;
endday = Convert.ToDateTime("2011-2-3");
this.lbllefttime.Text = (endday - nowday).Days.ToString();
this.label4.Text = (endday - nowday).Hours.ToString();
this.label6.Text = (endday - nowday).Minutes.ToString();
this.label9.Text = (endday - nowday).Seconds.ToString();
}
{
DateTime nowday,endday;
string leftday;
nowday = DateTime.Now;
endday = Convert.ToDateTime("2011-2-3");
this.lbllefttime.Text = (endday - nowday).Days.ToString();
this.label4.Text = (endday - nowday).Hours.ToString();
this.label6.Text = (endday - nowday).Minutes.ToString();
this.label9.Text = (endday - nowday).Seconds.ToString();
}
#1
发布时间 一个过期间隔 然后跟 相加跟当前时间比较 做过期判断显示
倒计时不大可能 除非你页面一直开着 只能在加载的时候判断
倒计时不大可能 除非你页面一直开着 只能在加载的时候判断
#2
网上的例子不是你想要的?
倒计时器不都那个样子吗?
用timer控件就可以实现。、、、时间到了执行你想要的,比如说按钮不可用啊。。什么的
倒计时器不都那个样子吗?
用timer控件就可以实现。、、、时间到了执行你想要的,比如说按钮不可用啊。。什么的
#3
你如果不怕效率不高的话,你可以写在Application里
#4
timer 定时自动到表里去查一遍。
#5
有相应的例子吗,我想看看
#6
#7
数据库添俩字段 添加日期, 和 天数
日期年月日的int类型
调用的时候添个条件
"where Addtime+day<"+当前日期的int类型
日期年月日的int类型
调用的时候添个条件
"where Addtime+day<"+当前日期的int类型
#8
直接用js
<script language="javaScript" type="text/javascript">
var timedate= new Date("June 26,2010");
var times= "2010中考";
var now = new Date();
var date = timedate.getTime() - now.getTime();
var time = Math.floor(date / (1000 * 60 * 60 * 24));
if (time >= 0)
document.write( "现在离"+times+"还有: "+time +"天")
</script>
<script language="javaScript" type="text/javascript">
var timedate= new Date("June 26,2010");
var times= "2010中考";
var now = new Date();
var date = timedate.getTime() - now.getTime();
var time = Math.floor(date / (1000 * 60 * 60 * 24));
if (time >= 0)
document.write( "现在离"+times+"还有: "+time +"天")
</script>
#9
你们看看我这个为什么时间不对啊<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<div style="text-align:center;">
<font style="font-weight:bolder; font-size:x-large;">离2010年10月1日 20:00:00 还剩余</font><br /><br />
<asp:Label ID="hour" runat="server" ForeColor="Red" Font-Size="XX-Large" ></asp:Label> 小时
<asp:Label ID="min" runat="server" ForeColor="Red" Font-Size="XX-Large"></asp:Label> 分
<asp:Label ID="sec" runat="server" ForeColor="Red" Font-Size="XX-Large"></asp:Label> 秒
</div>
<asp:Timer ID="Timer1" runat="server" ontick="Timer1_Tick" Interval="1000">
</asp:Timer>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</form>
</body>
protected void Timer1_Tick(object sender, EventArgs e)
{
this.Timer1.Interval = 1000;
getTm();
}
private void getTm()
{
DateTime curTm = DateTime.Now;
DateTime endTm = Convert.ToDateTime("2010-10-1");
this.hour.Text = (endTm - curTm).Hours.ToString();
this.min.Text = (endTm - curTm).Minutes.ToString();
this.sec.Text = (endTm - curTm).Seconds.ToString();
}
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<div style="text-align:center;">
<font style="font-weight:bolder; font-size:x-large;">离2010年10月1日 20:00:00 还剩余</font><br /><br />
<asp:Label ID="hour" runat="server" ForeColor="Red" Font-Size="XX-Large" ></asp:Label> 小时
<asp:Label ID="min" runat="server" ForeColor="Red" Font-Size="XX-Large"></asp:Label> 分
<asp:Label ID="sec" runat="server" ForeColor="Red" Font-Size="XX-Large"></asp:Label> 秒
</div>
<asp:Timer ID="Timer1" runat="server" ontick="Timer1_Tick" Interval="1000">
</asp:Timer>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</form>
</body>
protected void Timer1_Tick(object sender, EventArgs e)
{
this.Timer1.Interval = 1000;
getTm();
}
private void getTm()
{
DateTime curTm = DateTime.Now;
DateTime endTm = Convert.ToDateTime("2010-10-1");
this.hour.Text = (endTm - curTm).Hours.ToString();
this.min.Text = (endTm - curTm).Minutes.ToString();
this.sec.Text = (endTm - curTm).Seconds.ToString();
}
#10
你可以用两个Timer控件,Timer1和Timer2,让1实现全局刷新(下面简称1和2),让2实现局部刷新。先设置1的刷新频率为一个很长很长的时间。设置2的刷新频率为1秒,在2的事件中写事件,这样就可以实现倒计时的功能了!然后再在2的事件中判断下系统时间和你库中存的时间是否相等,相等的那一刻,你就用代码来实现设置1的刷新频率为1秒。这是你只要在1的事件中写你要实现的功能代码,然后在后面接着写Trimer1.Enable = flase;这样1就只刷新了一下,也就在那一下执行了你的操作! 思路是这样的,不知道你看得懂不,我表达能力有限!
#11
我说个思路
总之你可以存到一个结束时间,你存的时候就存结束时间,开始时间只是一个记录
1,(判断当前时间是否答应结束时间)首先我要跟你说的是 时间相减法则(数据库查询可以相减,代码里面也可以相减)(结束时间-当前时间=秒)
2,转换成秒了 放到页面上,用JS的 setTimeout 这个方法执行就好了,当秒小于0时 也就是说结束了,这样性能最好。
总之你可以存到一个结束时间,你存的时候就存结束时间,开始时间只是一个记录
1,(判断当前时间是否答应结束时间)首先我要跟你说的是 时间相减法则(数据库查询可以相减,代码里面也可以相减)(结束时间-当前时间=秒)
2,转换成秒了 放到页面上,用JS的 setTimeout 这个方法执行就好了,当秒小于0时 也就是说结束了,这样性能最好。
#12
private void timer2_Tick(object sender, EventArgs e)
{
DateTime nowday,endday;
string leftday;
nowday = DateTime.Now;
endday = Convert.ToDateTime("2011-2-3");
this.lbllefttime.Text = (endday - nowday).Days.ToString();
this.label4.Text = (endday - nowday).Hours.ToString();
this.label6.Text = (endday - nowday).Minutes.ToString();
this.label9.Text = (endday - nowday).Seconds.ToString();
}
{
DateTime nowday,endday;
string leftday;
nowday = DateTime.Now;
endday = Convert.ToDateTime("2011-2-3");
this.lbllefttime.Text = (endday - nowday).Days.ToString();
this.label4.Text = (endday - nowday).Hours.ToString();
this.label6.Text = (endday - nowday).Minutes.ToString();
this.label9.Text = (endday - nowday).Seconds.ToString();
}