問題タブ [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.
windows - Windows での時計のずれ
ビジネス イベントを追跡する Windows サービスを開発しました。イベントのタイムスタンプに Windows クロックを使用します。ただし、基礎となるクロックは、特に CPU がハードに動作している場合に、非常に劇的にドリフトする可能性があります (たとえば、1 分間に数秒を失うなど)。私たちのサーバーは Windows タイム サービスを使用して、内部で NTP を使用するドメイン コントローラーとの同期を維持しますが、同期の頻度はドメイン ポリシーによって制御されます。ハードウェア クロックを使用する以外に、クロックをより安定させるために使用できる手法はありますか?
vmware - 仮想マシンのドリフト クロックを解決するにはどうすればよいですか?
仮想マシンのクロックが大幅にずれます。これに対処するためのドキュメントはありますが、うまく機能しているようには見えません。
誰もが何か提案、彼らにとってうまくいったこと、...
おそらく、ntp 経由で定期的に更新することは良い解決策ではありません。
c - Linux でハードウェア クロックをプログラムで設定するにはどうすればよいですか?
Linux は、システム時刻を設定するための stime(2) 呼び出しを提供します。ただし、これによりシステムの時刻は更新されますが、BIOS ハードウェア クロックが新しいシステム時刻と一致するようには設定されません。
Linux システムは通常、シャットダウン時および定期的にハードウェア クロックをシステム時刻と同期させます。ただし、これらの自動同期のいずれかの前にマシンの電源を入れ直すと、マシンの再起動時に時刻が正しくなくなります。
システム時刻を設定するときに、ハードウェア クロックが確実に更新されるようにするにはどうすればよいですか?
java - Javaでイベントの経過時間を計算するにはどうすればよいですか?
イベントの経過時間を計算できるように、Javaを使用してシステム時計にアクセスする簡単で簡単な方法は何ですか?
.net - より効率的な時計関数を書く
VB.NETプログラムに、秒を含む時間を表示する時計機能があります。私は現在、NOWを使用して常にポーリングしているタイマーを持っています。2番目の更新をシステムクロックと同期させる必要があるため、システムクロックを頻繁にポーリングする必要があります。
秒が変わったときにだけ時刻にアクセスするためのより直接的な方法はありますか?
このコードを書くためのより効率的な方法はありますか?
さらに情報が必要な場合はお知らせください。
time - 2 台のリモート コンピュータ間の (クロックの) 同期
アプリに簡単な同期機能を書き込むことを検討していますが、ポップアップした懸念の 1 つは、それぞれ独自のクロックを持つ 2 つのリモート コンピューター間の時刻の同期です (特に、ファイル/オブジェクトの変更日に関して)。
このトピックについて多くの研究が行われていると確信しており、あまり理論的になりたくないのですが、リモートクロック間の時間的な不一致を最小限に抑えるためのベストプラクティスが受け入れられているかどうか疑問に思っています.
たとえば、タイムゾーンの問題を回避するために常に世界時 (UTC) を使用することから始めますが、2 台のコンピューターのシステム時刻がまったく同じであるという保証はありません。幸いなことに、私がやっている仕事はそれほどきめの細かいものではないので、それほど重要な問題ではありませんが、それでもまだ興味があります.
1 つの解決策は、ローカル システム クロックではなく、グローバル タイム サーバーなど、両端で常に同じクロックを使用することです。おそらく、これを (共有リソース ロックと組み合わせて) 同期された時刻が偶発的に重複しないことを保証できますが、あまり実用的ではありません。
私の頭に浮かんだ 1 つの考えは、おそらくシステム クロックのオフセットをグローバル タイム サーバーで計算することによって、各ノード (各クライアント) を、ある時点で計算されたオフセットと同期させることです。オフセット自体は短期間で大きく変化する可能性は低いため、これは時々行うだけで済みます。
更新: 2 台のコンピューターのシステム クロックを実際に同期することに興味がないことを付け加えておきます。ほとんどの場合、オペレーティング システムがこれを処理すると思います。これは、アプリケーションの 2 つのインスタンスが同期された時刻を使用していることを確認する方法の問題にすぎませんが、この時代では、システム クロックはとにかく非常に小さなデルタ内でほぼ確実に同期されると思います。
posix - スリープ状態のスレッドでシステム時刻を変更すると、どのような影響がありますか?
すべての BSD で使用可能であり、実際には POSIX 標準の一部として定義されているclock_gettime()関数を見ると、少なくとも 3 種類のクロックがサポートされていることがわかります (多くのシステムでは、これらのクロックよりも多くのクロックがサポートされています)。 、しかし実際には POSIX 標準では 1 つの存在のみが要求され、他のすべてはオプションです):
CLOCK_REALTIME - POSIX はこれが存在することを要求します。これが壁掛け時計です。
CLOCK_MONOTONIC - これが何なのか (そして SI 秒が何を意味するのか) はわかりませんが、この時計が逆方向にジャンプすることはなく、値が単調に増加することしかできないことは理解しています。
CLOCK_UPTIME - これが CLOCK_MONOTONIC とどのように異なるのかわかりません (アップタイムも後方にジャンプすることはありません) が、少なくともカーネルの起動時にこのクロックがゼロから始まることはわかっています (一方、カーネルの起動時に CLOCK_MONOTONIC が持つ初期値は定義されていません)。 )
他の時計はしばらく無視しましょう。CLOCK_REALTIME が単調にカウントアップすることは保証されていませんよね? これが実際の「システム時間」です。システム時刻を自由に変更できます。過去 3 か月または未来 5 年間に設定できますが、システムがネット上の NTP サーバーを使用して時刻を同期するたびに、時刻が前後する可能性があります。
現在、BSD システムには 2 つのスリープ関数があります。sleep()とnanosleep()。確かではありませんが、sleep() が nanosleep の上に実装されることを期待します。結局、nanosleep() を使用して sleep() を簡単にエミュレートし、構造体の timespec で秒数を設定するだけで、ナノ秒をゼロに保つことができます。 .
私は多くの情報源で、これらの関数が実際にウェイクアップ時間を計算することで機能し(現在の時間を取得し、それにスリープ時間を追加する)、現在の時間がウェイクアップよりも遅いかどうかをシステムが定期的にチェックすることを読みましたその場合は、スレッドを再び起動します。これが間隔を置いてのみチェックされるという事実が、現在のスリープが少なくともこの時間 (信号によって中断された場合のみ) スリープするが、それより長くスリープする可能性がある (頻度によっては) とマニュアルページに記載されている理由です。システムは、ウェイクアップ時刻をすでに過ぎているかどうかをチェックし、スケジューラがこのスレッドの再実行を許可するまでの時間に応じてチェックします)。
これは私にとって完全に正気です...しかし、常に私を悩ませていた質問が1つあります。
さまざまな情報源によると、スリープ (少なくとも nanosleep) は内部でクロックとして CLOCK_REALTIME を使用します。つまり、nanosleep() に 30 秒間スリープするように指示してから、システム クロックを将来の 1 時間に変更すると、スレッドはほぼ即座にウェイクアップします (将来の 1 時間は、ウェイクアップ時間 nanosleep( ) 計算)。これも全然オッケーです。しかし、私が 30 秒で目を覚ますと言った後、ユーザーが自分のシステム時計が 1 時間進んでいることに気づき、時計を 1 時間遅らせたらどうなるでしょうか? 次に、私のスレッドは 1 時間 30 秒間スリープしますか? それはかなり悪いでしょう。
datetime - Windows のシステム クロックを変更せずに時刻を偽造する
偽の日付/時刻をプロセスに報告する Windows ツールを知っている人はいますか?
どうやら、ソフトウェアが将来/別のタイムゾーンでどのように反応するかをテストしたり、システムクロックを実際に変更せずにスケジュールされたタスクをトリガーしたりするために使用できるLinuxプログラムがあるようです。Windows用のそのようなプログラムはありますか?
php - PHPからjavascriptメソッドDate.setTime()に値を供給する方法は?
時間()ですか?time().substr(microtime(), 2, 2) ですか? time().substr(microtime(), 2, 3) ですか?
次のスニペットでちょっと失われました。
私の目標は、サーバー時間を使用して、そこからクライアントのブラウザー ウィンドウでティックを開始することです。上記のコードは、現在のクライアント コンピューターの時刻または 1973 年のいずれかを返します。
ありがとう!
- 1000
私はそれを試しましたが、js.php (javascript コードをレンダリングする) をサーバーにアップロードした後も、Web ページにはローカル時間が表示されます。私のサーバーは、私との時間差が約 12 時間あります。私の推測では、php は time() の実行を考慮してクライアント側の時間を考慮していますか? ブラウザはリクエスト時間をApacheに送信するということですか?
サーバーで実行されている Web ページから返された time() * 1000 の値をコピーし、ローカル ページに貼り付けました。
そして、それは確かに私の現地時間です。したがって、推測。
time() のタイムゾーンを指定する方法はありますか?
asynchronous - 時計のないコンピューターチップはどうなりましたか?
数年前、「次の大物」は時計のないコンピューターでした。その背後にある考え方は、クロックがなければ、プロセッサは大幅に高速に動作するというものでした。
それが当時で、これが今で、それがどのように進んできたのか、またはアイデアが失敗したのかについての情報は見つかりません...
誰でも知っていますか?
参考のため:
http://www.cs.columbia.edu/~nowick/technology-review-article-10-01.pdf