我们的团队与jQuery倒计时有很大的问题,我们真的需要一些帮助。

最初,我们有一些scriptsharp代码,这是它

JQueryCountdownOptions opts = new JQueryCountdownOptions();
opts.Layout = "<ul class=\"group\"> <li>{dn} <span>{dl}</span></li> <li>{hn} <span>{hl}</span></li> <li>{mn} <span>{ml}</span></li> <li>{sn} <span>{sl}</span></li> </ul>";
opts.Until = Number.ParseInt(timeLeft);

jQuery.Select("#countdownclock").Plugin<JQueryCountdown>().Countdown(opts);
jQuery.Select("#countdownclock").Show();
jQuery.Select("#bidBox").RemoveAttr("disabled");
.

我们注意到的是,这将客户的时钟倒计时。因此,如果客户决定将时间更改为5小时,那么倒计时将为5小时。

要解决此问题,我们介绍了一些代码

在视图中:

   $(function () {

        var expires = new Date(@year, @month, @day, @hours, @minutes, @seconds);
        $('#clockDiv').countdown({ until: expires, timeZone: null, serverSync: serverTime, onTick: serverTime, tickInterval: 60 });

        function serverTime() {
            var time = null;
            $.ajax({ url: '/Auction/SyncServerTime',
                async: false, dataType: 'json',
                success: function (result) {
                    time = new Date(result.serverTime);
                }, error: function (http, message, exc) {
                    time = new Date();
                }
            });
            return time;
        }
});
.

在控制器中

public JsonResult SyncServerTime()
        {
            var result = new JsonResult
            {
                Data = new
                {
                    serverTime = DateTime.Now.ToString("MMM dd, yyyy HH:mm:ss zz")
                },
                JsonRequestBehavior = JsonRequestBehavior.AllowGet
            };
            return result;
        }
.

此代码可确保无论用户将其时钟设置为倒数计时器,将定期同步到服务器的时间。解决问题。

唯一的问题是我们提出了其他问题。

问题是,当用户处于不同的时区时,这些用户的倒计时是不同的,具体取决于它们的时区具有的时区偏移量。我们尝试改变各种参数,仍然存在问题。如果我的时间表跨越夏令时应用的日期,则更糟糕的是,那么事情再次出现,适用于同一时区的那些和不同的东西。我们已经尝试了不同的代码和参数,所以以上就是我所做的并且与我所尊重的同事们所做的不同。我问的是肯定的,某人在某个地方必须有要求

  1. 写入独立于客户端的倒计时,并基于服务器时间。
  2. 显示相同的天数,小时,分钟,秒,无论用户在
  3. 中是什么时候
  4. 显示相同的天数,小时,几分钟,剩余的用户在这段时间内的时间将改变,因为dst到用户在此期间的时间不会改变,因为dst
  5. 显示实际数天,小时,分钟和秒数,因为dst的时间将在此期间在此期间改变。
  6. 我们不能肯定是唯一有这个问题的人。这不可能这么难。有谁知道解决方案?

    谢谢,

    sachin

有帮助吗?

解决方案

我没有处理同样的方案,但看到日期,时区问题等。弹出自动触发关于一些潜在问题的思考,这些潜在问题源于使用本地日期对象而不是UTC日期对象。

imo,如果所有计算,日期的序列化只在UTC空间中序列化,并且最后在向用户呈现日期时,它将转换为本地或适当的时区,因此根据方案转换为本地或适当的时区。。在倒装端,用户进入本地或某个时区相对条目,并立即转换为UTC作为内部表示。这避免了应用程序的不同层次/层的各种混淆。

它不是对您的特定问题的解决方案,但也许需要导致一个可能导致的问题。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top