C# 如何使用ASP.Net/C请求服务器时间#
我正在为我正在进行的一个项目创建一个倒计时,我觉得获得尽可能准确的时间很重要。什么比服务器时间更准确,更重要的是,它是最不变的C# 如何使用ASP.Net/C请求服务器时间#,c#,asp.net,datetime,C#,Asp.net,Datetime,我正在为我正在进行的一个项目创建一个倒计时,我觉得获得尽可能准确的时间很重要。什么比服务器时间更准确,更重要的是,它是最不变的 该项目需要天/小时/分钟/秒,因此,如果我能够获取从服务器请求页面的确切时间,我可以将其放入一个JavaScript变量中,然后从那里计算出来。由于这是在服务器上运行的,它会给您服务器时间 DateTime currentTime = DateTime.Now; 您可以在页面上放置一个隐藏字段,并在页面加载时使用JS读取该字段 那么,你要么 还需要知道客户端加载页面
该项目需要天/小时/分钟/秒,因此,如果我能够获取从服务器请求页面的确切时间,我可以将其放入一个JavaScript变量中,然后从那里计算出来。由于这是在服务器上运行的,它会给您服务器时间
DateTime currentTime = DateTime.Now;
您可以在页面上放置一个隐藏字段,并在页面加载时使用JS读取该字段
那么,你要么
- 还需要知道客户端加载页面的时间,以便计算已过的时间 或
- 让JS递增您添加到服务器时间的计数器值
DateTime currentTime = DateTime.Now;
当然,使用这两种方法之一,您可以使用setTimeout
启动一些JS函数
然而,不要忘记时区这很重要吗?因为这是在服务器上运行的,所以它为您提供了服务器时间
DateTime currentTime = DateTime.Now;
您可以在页面上放置一个隐藏字段,并在页面加载时使用JS读取该字段
那么,你要么
- 还需要知道客户端加载页面的时间,以便计算已过的时间 或
- 让JS递增您添加到服务器时间的计数器值
DateTime currentTime = DateTime.Now;
当然,使用这两种方法之一,您可以使用setTimeout
启动一些JS函数
然而,不要忘记时区这很重要吗?一种方法是获取目标时间与当前时间之差的时间跨度,然后是总秒数:
TimeSpan diff = objetiveDateTime - DateTime.Now;
int totalSeconds = diff.TotalSeconds();
另一种方法是获取目标日期并以js理解的格式(例如“1975年10月13日11:13:00”)将其保存在js变量中,然后在js中创建
date
对象。一种方法是获取目标时间与当前时间之差的时间跨度以及总秒数:
TimeSpan diff = objetiveDateTime - DateTime.Now;
int totalSeconds = diff.TotalSeconds();
另一种方法是获取目标日期并以js理解的格式(例如“1975年10月13日11:13:00”)将其保存在js变量中,然后在js中创建
date
对象。为什么不查询NIST time server?在假设服务器是比客户端更好的源之前,必须考虑服务器的哪个层次。还考虑到您正在返回到Web服务器,而不是DC,这通常是网络的参考时间源。最后,如果你没有一个权威的时间来源来查询,考虑允许用户输入一个时间黑客,或者手动输入,这将是你的时间和权威时间之间的差异。
为什么不查询NIST时间服务器?在假设服务器是比客户端更好的源之前,必须考虑服务器的哪个层次。还考虑到您正在返回到Web服务器,而不是DC,这通常是网络的参考时间源。最后,如果你没有一个权威的时间来源来查询,考虑允许用户输入一个时间黑客,或者手动输入,这将是你的时间和权威时间之间的差异。
OP,想在javascript中使用服务器时间,每个人都知道日期时间。现在存在。@Saeed,好的,所以把
DateTime.Now
放在一个隐藏字段中,用JS读取,然后启动倒计时。OP,想在javascript中使用服务器时间,每个人都知道日期时间。现在存在。@Saeed,好的,现在把DateTime.Now
放在一个隐藏字段中,用JS读取它,然后开始倒计时。