有没有人有在asp.net中使用jquery.countdown的经验?
在我的代码中,我设置了这样的日期
public string datostreng;
protected void Page_Load(object sender, EventArgs e)
{
string format = "ddd MMM d yyyy HH:mm:ss";
DateTime _tempdato = DateTime.Now.AddDays(1);
datostreng = _tempdato.ToString(format);
}
在.aspx页面上,我有
<script type="text/javascript">
$(function () {
var dato = new Date();
dato = '<%=datostreng %>';
$('#defaultCountdown').countdown({ until: dato, format: 'HMS' });
//alert(dato);
});
计数器显示正常,但它从34分56秒开始倒计时,很奇怪..在我的例子中,它应该从24小时倒计时。
在原始的jquery.countdown示例中,它们的日期格式如下: 2012年1月26日星期四00:00:00 GMT + 0100
在我的示例中,它看起来像这样: fr jan 28 2011 09:50:43
所以,我想问题是,如何在C#中生成满足jquery.countdown函数的日期?
答案 0 :(得分:3)
在javascript中为变量指定日期时,需要使用:
var dato = new Date('<%=datostreng%>');
你完成它的方式,你的变量包含一个字符串,而不是一个日期。所以只需要替换这两行就可以了。
答案 1 :(得分:1)
您可以利用JavaSript自1970/01/01以来持有Date作为毫秒的事实。把它放在你的代码中:
private static DateTime _jsDateBoundary = new DateTime(1970, 1, 1, 0, 0, 0);
public Int64 GetCountdownMilliseconds()
{
DateTime countdownDeadline = DateTime.Now.AddDays(1).ToUniversalTime();
return (Int64)countdownDeadline.Subtract(_jsDateBoundary).TotalMilliseconds;
}
在.aspx页面上输入:
$(document).ready(function () {
$('#defaultCountdown').countdown({ until: new Date(<%= GetCountdownMilliseconds() %>), format: 'HMS' });
});
它会起作用。