问题标签 [clock]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
13 回答
40597 浏览

windows - Windows 上的时钟漂移

我开发了一个跟踪业务事件的 Windows 服务。它使用 Windows 时钟为事件添加时间戳。然而,底层时钟可能会非常显着地漂移(例如,每分钟损失几秒钟),尤其是在 CPU 努力工作时。我们的服务器使用 Windows 时间服务与域控制器保持同步,域控制器在后台使用 NTP,但同步频率由域策略控制,在任何情况下,即使每分钟同步一次,仍然会出现明显的偏差。除了使用硬件时钟之外,我们可以使用任何技术来保持时钟更稳定吗?

0 投票
11 回答
42868 浏览

vmware - 如何解决虚拟机的时钟漂移问题?

我的虚拟机的时钟漂移非常明显。那里有关于处理这个问题的文档,但似乎没有什么工作得很好。

任何人都有任何建议,对他们有用的东西,...

据说通过 ntp 定期更新不是一个好的解决方案。

0 投票
5 回答
26972 浏览

c - 如何在 Linux 上以编程方式设置硬件时钟?

Linux 提供 stime(2) 调用来设置系统时间。然而,虽然这会更新系统时间,但它不会将 BIOS 硬件时钟设置为与新系统时间相匹配。

Linux 系统通常在关机时和定期间隔将硬件时钟与系统时间同步。但是,如果机器在这些自动同步之一之前重新启动,则机器重新启动时的时间将不正确。

设置系统时间时如何确保硬件时钟得到更新?

0 投票
6 回答
55004 浏览

java - 如何在 Java 中计算事件的经过时间?

什么是使用 Java 访问系统时钟的简单/简便方法,以便我可以计算事件的经过时间?

0 投票
2 回答
1650 浏览

.net - 编写更高效的时钟函数

我在 VB.NET 程序中有一个时钟功能,可以显示包括秒在内的时间。我目前有一个使用 NOW 不断轮询的计时器。我必须经常轮询系统时钟,因为我需要让第二次更新与系统时钟同步。

只有当秒数变化时,是否有更直接的访问时间?

有没有更有效的方法来编写这段代码?

如果您需要更多信息,请告诉我。

0 投票
9 回答
35608 浏览

time - 两台远程计算机之间的(时钟)同步

我正在考虑在我的应用程序中编写一个简单的同步功能,其中一个出现的问题是两台远程计算机之间的时间同步,每台计算机都有自己的时钟(特别是关于文件/对象的修改日期)。

我确信已经对这个主题进行了很多研究并且不想过于理论化,但我想知道是否有任何公认的最佳实践来最小化远程时钟之间的时间差异?

例如,一开始是始终使用通用时间 (UTC) 以避免时区问题,但不能保证两台计算机将具有完全相同的系统时间。幸运的是,我正在做的工作不是很细粒度,所以这不是一个非常重要的问题,但我仍然很好奇。

一种解决方案是始终在两端使用相同的时钟,例如全局时间服务器,而不是本地系统时钟。大概这(结合共享资源锁)可以保证同步时间不会意外重叠,但它不是很实用。

一个想法突然出现在我的脑海中,将每个节点(每个客户端)与之前某个时间点计算的偏移量同步,也许是通过计算系统时钟与全局时间服务器的偏移量。这只需要偶尔进行,因为偏移量本身不太可能在短时间内发生很大变化。

更新:让我补充一点,我对实际同步两台计算机的系统时钟不感兴趣——我假设操作系统在大多数情况下都会处理这个问题。这只是一个关于如何确保应用程序的两个实例使用同步时间的问题,尽管在这个时代,我认为系统时钟几乎肯定会在一些非常小的增量内同步。

0 投票
2 回答
3878 浏览

posix - 更改系统时间对休眠线程有什么影响?

如果您看一下clock_gettime()函数,它在所有BSD 中都可用并且实际上被定义为POSIX 标准的一部分,您会发现至少支持三种类型的时钟(许多系统支持的时钟不止这些时钟) ,但实际上 POSIX 标准只要求存在一个,所有其他都是可选的):

  • CLOCK_REALTIME - POSIX 要求它存在。这是挂钟。

  • CLOCK_MONOTONIC - 不知道这是什么(以及 SI 秒的含义),但我知道这个时钟永远不会向后跳,它只能单调增加值。

  • CLOCK_UPTIME - 我看不出这与 CLOCK_MONOTONIC 有什么不同(正常运行时间也永远不会向后跳),但至少我知道内核启动时这个时钟从零开始(而它没有定义内核启动时 CLOCK_MONOTONIC 的初始值是多少) )

让我们暂时忽略其他时钟。CLOCK_REALTIME 不能保证单调向上计数,对吧?这是实际的“系统时间”。我可以随意更改系统时间。我可以将它设置为过去 3 个月或未来 5 年,每次我的系统使用网络上的 NTP 服务器同步时间时,时间可能会向前或向后跳跃。

现在我们在 BSD 系统中有两个休眠函数。sleep()nanosleep()。我不确定,但我希望 sleep() 在 nanosleep 之上实现,毕竟我可以通过使用 nanosleep() 轻松模拟 sleep() 并且只在 struct timespec 中设置秒数,保持纳秒为零.

我在很多资料中读到,这些函数实际上是通过计算唤醒时间来工作的(获取当前时间,添加睡眠量),如果当前时间晚于唤醒时间,系统将定期检查时间,如果是这样,它将再次唤醒线程。仅在间隔中检查这一事实是手册页说当前睡眠将至少睡眠这段时间的原因(仅在被信号中断时更短),但它可能会睡眠更长时间(取决于多久系统检查我们是否已经超过了唤醒时间,并且取决于调度程序允许该线程再次运行之前需要多长时间)。

这对我来说是完全理智的......但是有一个问题一直困扰着我:

根据各种来源,睡眠(至少是 nanosleep)在内部使用 CLOCK_REALTIME 作为时钟。这意味着,如果告诉 nanosleep() 休眠 30 秒,然后将我的系统时钟更改为未来 1 小时,线程将几乎立即唤醒(未来 1 小时远早于唤醒时间 nanosleep( )计算)。这也完全没问题。但是,如果我说在 30 秒后醒来,然后用户发现他的系统时钟提前一小时并将他的时钟向后设置一小时,会发生什么?然后我的线程会休眠 1 小时 30 秒?因为那将是相当糟糕的。

0 投票
3 回答
19705 浏览

datetime - 在不更改 Windows 系统时钟的情况下伪造时间

有人知道向进程报告虚假日期/时间的 Windows 工具吗?

显然,有一些 Linux 程序可用于测试软件在未来/在不同时区的反应,或在不实际修改系统时钟的情况下触发计划任务。Windows 有这样的程序吗?

0 投票
3 回答
2356 浏览

php - 如何从 PHP 向 javascript 方法 Date.setTime() 提供值?

是时间()吗?是 time().substr(microtime(), 2, 2) 吗?是 time().substr(microtime(), 2, 3) 吗?

下面的代码片段有点迷失了。

我的目标是使用服务器时间并在客户端浏览器窗口上从那里开始计时。上面的代码要么返回当前客户端计算机时间,要么返回 1973 年的某个时间。我想我没有得到正确的 setTime() 时间戳格式?

谢谢!

  • 1000

我试过了,但是在我将 js.php(呈现 javascript 代码)上传到我的服务器后,网页仍然显示我的本地时间。我的服务器与我的时间相差大约 12 小时。我的猜测是 php 是否将客户端时间考虑到运行时间()?我的意思是浏览器确实会向 apache 发送请求时间,对吗?

我从服务器上运行的网页中复制了 time() * 1000 返回值并将其粘贴到本地页面中:

这确实是我的当地时间。因此猜测。

有没有为 time() 指定时区?

0 投票
2 回答
21941 浏览

asynchronous - 无时钟计算机芯片怎么了?

几年前,“下一件大事”是无时钟计算机。它背后的想法是,如果没有时钟,处理器将运行得更快。

那是那时,这是现在,我找不到任何关于它是如何发生的或者这个想法是否失败的信息......

有人知道吗?

以供参考:

http://www.cs.columbia.edu/~nowick/technology-review-article-10-01.pdf