問題タブ [system-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 投票する
2 に答える
4919 参照

android - Android - デバイスの時計に依存せずに現在の時刻を取得する

System.currentTimeMillis() 時間はデバイスに依存していることに気付きました。デバイスの時計の時刻を変更すると、このメソッドは別の回答を返します。

例: 現在のリアルタイムが 10:00 で、デバイスの時計を 9:30 に変更すると、System.currentTimeMillis() は 9:30 の時刻 (ミリ秒単位) を返します。 この回答と他の回答

も試しましたが、役立つものは何も見つかりませんでした。私のアプリはほとんどオフラインで動作します。外部 API を使用せずに実際の現在の時刻 (デバイスに依存しない) を取得する方法はありますか?

0 投票する
1 に答える
2357 参照

variables - システム クロックに同期するバッチ スクリプトのカウントダウン タイマーを作成する必要がある

バッチ ファイルのカウントダウン タイマーを作成したいと考えています (制限があるため、バッチ スクリプトにする必要があります)。私はこれまでに 2 つのスクリプトを使用してきましたが、その「種類」で機能しますが、それぞれに欠点があります。

基準は次のとおりです。 1. システム時刻を xx:xx:xx 形式で表示する必要があります。2. xx:xx 形式で分 + 秒でカウントダウンする必要があります。3. 12 時間単位で働ける必要がある (例: 午後 7 時から午前 7 時まで)

私が使用しているカウントダウン スクリプト (自分で作成したものではなく、特定のセクションを変更しただけです) は次のとおりです。

このコードの欠点は、システム クロックに同期しないことです。そのため、同期が取れなくなります。また、夜勤の真夜中までは機能しません。

これを改善するための助けは素晴らしいでしょう。システムクロックをカウントダウンの同期変数として使用する方法が本当にわかりません。

ありがとう!

0 投票する
1 に答える
433 参照

c# - カスタムクロノメーターと時差

私は C# が初めてで、時間文字列 (time と time0/time1) を表示する 2 つのラベル (label1 と label2) とテキストを変更する 1 つのボタン (一時停止/再生) で構成されるカスタム クロノメーターを作成しようとしています。クリックごとに一時停止から再生、またはその逆。label1 は datetime.now (hhmmss) によって作成された文字列変数である時間を示し、label2 は time0 を示し、「一時停止」ボタンをクリックしてもう一度「再生」すると time1 が表示されます (時間 1 は以下の式で計算されます)。

次のことを行います。

  1. システムの datetime.now (hhmmss) を取得し、時刻文字列に保存して、label1 に表示します
  2. 一時停止ボタンを押すと、timeの値が別の文字列time0に保存され、label2 で停止したことが示されます
  3. 再生ボタンを押すと、label1 の時刻と同期していないlabel2 の時刻 ( time1 ) が開始されます。

time1を計算するには、次の式を使用します。

time1 = DateTime.Now - ((DateTime.Now とtime0の差) - 1 秒)

2 つの文字列間の時間差を処理し、新しい時間time1を label2 と次のクリックのテキストとして使用する方法がわからないため、3 番目のポイントで立ち往生しています。

これは私の実際のコードです。それを完了するための助けをいただければ幸いです。ありがとうございます。

0 投票する
0 に答える
636 参照

android - Androidはプログラムでクロックを同期します

私は次のようなアプリケーションを開発しています:
1. 近いネットワークで実行されます (インターネット アクセスなし)。
2. すべてのターゲット デバイスにルート権限があります。

1 時間ごとにデバイスの時計をサーバーの時計と同期させる必要があります。
デフォルトの ntp サーバーを変更できないことがわかりました。

サーバーの現在のタイムスタンプを返し、プログラムで時間を変更するWebサービスでそれを行う予定です。

それを行うためのより一般的な方法はありますか?

0 投票する
2 に答える
1090 参照

c# - C# で Win32SetSystemTime を使用してシステム日付を変更する (日付のみ、時、分、秒なし)

Win32SetSystemTime時分秒(年月日のみ)を変更せずに( を使用して)システム時刻を設定することはできますか?

これが私のコードです。ご覧のとおり、falseData.Hour、falseData.Minute、および falseData.Second を変更したくないのでコメントしました。ただし、このコードでは、システム時刻は自動的に 01:00:00 に設定されます。手動で、時間、分、秒を変更せずに (タスクバーの時計をクリックして) システム日付を変更できますが、プログラムで変更できますか?

どんな助けでも大歓迎です。ありがとう。マルコ

0 投票する
3 に答える
33779 参照

amazon-web-services - Amazon の EC2 サービスを使用して時計のずれに対処するときに使用すべき NTP サーバーはありますか?

私は AWS を使用しており、EC2 サーバーを使用しています …</p>

すでに NTPD をインストールして実行しているにもかかわらず、私の時計は 1 分ずれています。

このエラーが表示されるため、ntp パケットがブロックされているか、他の問題があるように見えます…</p>

NTP 情報のために連絡する必要がある別のサーバーがあるかどうか、または必要な他の追加構成があるかどうか、AWS について知っている人はいますか?

ありがとう - デイブ

編集:コメントからの出力を含む...

2番目の編集:

以下は、/etc/ntp.conf ファイルの内容です。

以下は「ntpq -p」からの出力です

0 投票する
2 に答える
1504 参照

android - SystemClock.elapsedRealtime() を何に置き換えて、信頼できる時間を取得できますか?

私は、時計を更新し、特定のタスク(曲の再生など)を別の時間に実行するためのAndroidサービスを担当しています。Timer.scheduleAtFixedRate(new MyTask(), 0, 1000L) などを使用しようとしましたが、1時間で4分以上の遅延が発生しました。
1) var long expectedtNextSystemMilli で System.currentTimeMillis() を使用して開始時刻を記録する2
) この変数に 1 秒 (1000 ミリ秒) を追加して、タスクを再度実行する次の日時を取得する
3) ランナブル内タスクは、タスクの次の実行をスケジュールするために、「実際のシステム時間」と var から予想される時間との間の遅延を計算します。

いくつかのテストの後、遅延の問題もあることに気付き、経過時間を測定するために System.currentTimeMillis() の使用は推奨されておらず、SystemClock.elapsedRealtime() を使用する必要があるというドキュメントを読みました。また、私はそれを行いました。以下は MyTask のコードです

このコードをたどると、ご覧のように SystemClock.elapsedRealtime() によって 28 秒のジャンプが返されることに驚きました。

07-13 22:15:00.041: V/TimerManagerService(19377): onTick 遅延 = 361 終了、トレース = 539
07-13 22:15:00.041 : D/TimerTick(19377): ミリ単位の新しい遅延は 999、経過リアルタイム = 84800078
07-13 22:15:01.041: I/TimerManagerService(19377): タイマーが動作しています。
07-13 22:15:01.041: E/TimerTick(19377): システムが費やしたエラー時間 (ミリ単位) = -28585> 1
秒 07-13 22:15:01.041: E/TimerTick(19377): システムが費やしたエラー時間ミリ = -27585> 1
秒 07-13 22:15:01.041: E/TimerTick(19377): システムが費やしたエラー時間 (ミリ単位) = -26586> 1
秒 07-13 22:15:01.041: E/TimerTick(19377):システムがミリ単位で費やしたエラー時間 = -25586> 1
秒 07-13 22:15:01.041: E/TimerTick(19377): システムがミリ単位で費やしたエラー時間 = -23587> 1 秒
07-13 22:15:01.041: E/TimerTick(19377): システムが費やしたエラー時間 (ミリ単位) = -22587> 1
秒 07-13 22:15:01.041: E/TimerTick(19377): システムが費やしたエラー時間ミリ = -21588> 1
秒 07-13 22:15:01.041: E/TimerTick(19377): システムが費やしたエラー時間 (ミリ単位) = -20588> 1
秒 07-13 22:15:01.041: E/TimerTick(19377):システムが費やしたエラー時間 (ミリ単位) = -19589> 1
秒 07-13 22:15:01.041: E/TimerTick(19377): システムが費やしたエラー時間 (ミリ単位) = -18589> 1
秒 07-13 22:15:01.041: E /TimerTick(19377): システムが費やしたエラー時間 (ミリ単位) = -17589> 1 秒
07-13 22:15:01.041: E/TimerTick(19377): システムが費やしたエラー時間 (ミリ単位) = -16590> 1 秒 07-13 22:15:01.041: E/TimerTick(19377): システムが費やしたエラー時間ミリ = -15590> 1 秒 07-13 22:15:01.041: E/TimerTick(19377): システムが費やしたエラー時間 (ミリ単位) = -14591> 1 秒 07-13 22:15:01.041: E/TimerTick(19377):システムが費やしたエラー時間 (ミリ単位) = -13591> 1 秒 07-13 22:15:01.041: E/TimerTick(19377): システムが費やしたエラー時間 (ミリ単位) = -12591> 1 秒 07-13 22:15:01.041: E /TimerTick(19377): システムが費やしたエラー時間 (ミリ単位) = -11592> 1 秒 07-13 22:15:01.041: E/TimerTick(19377): システムが費やしたエラー時間 (ミリ単位 = -10592> 1 秒 07-13 22 :15:01.041: E/TimerTick(19377): システムで費やされたエラー時間 (ミリ単位) = -9592> 1 秒 07-13 22:15:01.041: E/TimerTick(19377): システムで費やされたエラー時間 (ミリ単位) = -8593 > 1 秒 07-13 22:15:01.041: E/TimerTick(19377): システムが費やしたエラー時間 (ミリ単位) = -7594> 1 秒 07-13 22:15:01.041: E/TimerTick(19377): システムが費やしたエラー時間 (ミリ単位) = -6594> 1 秒 07 -13 22:15:01.041: E/TimerTick(19377): システムが費やしたエラー時間 (ミリ単位) = -5595> 1 秒 07-13 22:15:01.041: E/TimerTick(19377): システムが費やしたエラー時間 (ミリ単位) = -4596> 1 秒 07-13 22:15:01.041: E/TimerTick(19377): システムが費やしたエラー時間 (ミリ単位) = -3596> 1 秒 07-13 22:15:01.041: E/TimerTick(19377): エラーシステムがミリ単位で費やした時間 = -24586> 1 秒 07-13 22:15:01.051: E/TimerTick(19377): システムがミリ単位で費やしたエラー時間 = -2597> 1 秒 07-13 22:15:01.051: E/ TimerTick(19377): システムが費やしたエラー時間 (ミリ単位) = -1598> 1 秒 07-13 22:15:01.051: E/TimerTick(19377): システムが費やしたエラー時間 (ミリ単位 = -598> 1 秒 07-13 22: 15:01.051:V/TimerManagerService(19377): onTick 遅延 = 331 終了、トレース = 540
07-13 22:15:01.051 : D/TimerTick(19377): ミリ単位の新しい遅延は 400、経過リアルタイム = 84830677
07-13 22:15:01.450: I/TimerManagerService(19377): タイマーが動作しています。

1) ログ: 07-13 22:15:00.041 : D/TimerTick(19377): ミリ単位の新しい遅延は 999、elapsedRealtime = 84800078
はスケジュールの直後に run() にある schedule => mTimer.schedule(new MyTask( )、 遅れ);

2) 同じ run() の呼び出しをスケジュールしますが、それを行うのに 28 秒以上かかるようです
ただし、日食レポートは 1 秒のみ => 22:15:00.041 2 つの呼び出しの間に 22:15:01.041

また、Androidで正確な経過時間を取得するには何を使用する必要があると思いますか?