问题标签 [time-precision]
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.
javascript - 有没有办法使用 JavaScript 以纳秒为单位获取当前时间?
所以,我知道我可以使用 JavaScript 以毫秒为单位获取当前时间。但是,是否有可能以纳秒为单位获取当前时间?
c++ - 这些时间计数器改进语句的目的是什么?
我正在尝试实现 GetTime 辅助函数。它获取当前时间,以计数为单位,然后获取系统每秒的计数数,因此您可以获取当前时间(以秒为单位)及其关系。
但在那之后,有一些我没有真正得到的改进代码。为什么最后两个语句在那里?
python - threading.Timer 时间精度
Python 的threading.Timer
时间精度取决于什么?
它取决于使用的操作系统吗?
它是否取决于使用的 Python 实现?
这取决于间隔吗?
如何对其进行基准测试?
那里已经有基准了吗?
java - 比较来自不同机器的 System.nanoTime() 值
比较在两台不同机器上调用 System.nanoTime() 产生的两个值是否正确?我会说不,因为 System.nanoTime() 通过使用依赖于处理器的时间戳计数器 (TSC)返回相对于某个任意点时间的纳秒精度时间。
如果我是对的,有没有办法(在 Java 中)在两台不同的机器上捕获一个瞬间,并以至少微秒精度甚至纳米级精度(安全地)比较这些值?
System.currentTimeMillis() 不是解决方案,因为它没有返回线性增加的时间戳数。用户或NTP等服务可以随时更改系统时钟,时间会前后跳跃。
c++ - 有没有一个地方可以让我查看 .NET 秒表代码并查看它在做什么?
有没有一个地方可以让我查看 .NET 秒表代码并查看它在做什么?我正在尝试匹配一些 C++ 代码以规范化 .NET 秒表提供的时间戳与 C++ 中的 QueryPerformance 调用。(如果可能,我需要非常精确,所以我需要了解 .NET 秒表调用中实际发生的情况)。
代码是否可见/在我可以在线阅读的地方打开。反编译 mscorlib 是一种选择吗?我有点把它作为最后的手段。
c# - 使用 ExecuteNonQuery 的并发问题
我正在将简单的文本日志条目写入 SQL 表,如下所示:
异步处理设置为false,所以我认为日志条目会按执行顺序出现在表中。但情况并非如此,如果在不到 5 毫秒的时间内触发了 2 个或更多日志条目。
所以我的猜测是 ExecuteNonQuery 在不同的线程上运行,并且不同的事件以某种方式混合在一起。我已经尝试过将异步处理与 BeginExecuteNonQuery 和 EndExecuteNonQuery 一起使用,但它会弄乱我的代码并且无论如何都无法正常工作。
所以我的问题是:有什么方法可以确保非查询按照它们被触发的顺序执行?
编辑:也许这很重要,我正在使用这样的时间戳
python - 解析包含纳秒的日期时间字符串
我有一些时间格式为 HH:MM::SS.nano_seconds 的日志文件(例如 01:02:03.123456789)。我想在 python 中创建一个日期时间,这样我就可以巧妙地对时间进行数学运算(例如,计算时差)。strptime使用 %f在微秒内效果很好。Python datetime 和 time 模块真的不支持纳秒吗?
java - Java 计时,System.nanoTime() 比 System.currentTimeMillis() 更胜一筹,但它会在睡眠期间持续存在吗?
我正在尝试实现一个计时器,它可以用于短(秒)事件或更长(小时等)事件。
理想情况下,它应该在 CPU 关闭时持续存在,例如,电池没电了。如果我使用 System.currentTimeMillis() 设置开始时间并使用相同的函数设置结束时间,它几乎适用于所有情况,除了在闰秒、闰年、夏令时更改等期间......或者,如果用户只是更改时间(我已经验证了这一点)。这是在Android系统上,顺便说一句。
相反,如果我使用 System.nanoTime(),除了可能更准确之外,它不会出现时间变化等常见的“困难时间”问题。我的问题是,System.nanoTime() 是否测量纳秒某个任意时间,在“困难时期”?我不确定正确的术语是什么,但例如,System.nanoTime() 会在 X 处运行,然后 X+1 小时后,系统关闭(例如,Android 设备上的电池没电了),然后是 X +10 小时,系统启动,此时运行 System.nanoTime() 会返回 10 小时吗?或者它会返回 1 小时(因为当系统关闭/休眠时 nanoTime 使用的“计数器”可能不会运行?)。
mysql - DATETIME 列上的 MySQL 加入/比较(<5.6.4 和 > 5.6.4)
假设我有两个这样的表:
例如,如果我使用该Time
字段作为我的加入条件,列出所有事件及其位置是否安全?IE:
或者,甚至只是简单地比较一个日期时间值(考虑到参数化值可能包含小数秒部分 - MySQL 一直接受)例如
我了解 MySQL(5.6.4 版之前)只存储没有毫秒的日期时间字段。所以我会假设这个查询可以正常工作。但是,从 5.6.4 版开始,我已经阅读 MySQL 现在可以使用 datetime 字段存储毫秒数。
假设使用诸如 的函数插入日期时间值NOW()
,毫秒会被截断(<5.6.4),我认为这允许上述查询工作。但是,对于 5.6.4 及更高版本,这可能无法正常工作。我是,而且永远只会对第二精度感兴趣。
如果有人能回答以下问题,将不胜感激:
- 一般来说,MySQL 如何将日期时间字段相互比较(考虑上面的查询)。
- 上述查询是否正常,是否使用时间字段上的索引?(MySQL < 5.6.4)
- 有没有办法排除毫秒?即在插入和条件连接/选择等时?(MySQL > 5.6.4)
- 上面的连接查询会起作用吗?(MySQL > 5.6.4)
编辑
我知道我可以转换日期时间,感谢那些回答的人,但我正在尝试解决问题的根源(存储类型/定义已更改的事实)并且我不想在我的查询。这否定了我所有优化查询应用索引等的工作,更不用说必须重写我的所有查询。
编辑2
DATETIME
那里的任何人都可以提出不使用第二精度加入某个领域的理由吗?
linux - 将linux时间设置为毫秒精度
我有一个嵌入式 Linux 设备,它通过串行通信协议与另一个“主”设备接口。主设备会定期将其日期传递给从设备,因为稍后从设备会将需要准确时间戳的信息返回给主设备。但是,Linux 的“日期”命令仅将系统日期设置为一秒以内。这对我们的用途来说是不够的。
有人知道如何将 Linux 机器的时间设置为比 1 秒更精确吗?