[解決済み] Javaで経過時間を計測するには?[重複しています]
質問
こんなのが欲しいんだけど
public class Stream
{
public startTime;
public endTime;
public getDuration()
{
return startTime - endTime;
}
}
また、例えばstartTimeが23:00でendTimeが1:00の場合、2:00のデュレーションを得ることが重要である。
Javaでこれを実現するには、どのような型を使用すればよいのでしょうか?
どのように解決するのですか?
残念ながら、これまでに投稿された10個の回答のうち、どれもまったく正しいものではありません。
経過時間を測定する場合、その経過時間を
正しい
を使用する必要があります。
System.nanoTime()
. を使用することはできません。
System.currentTimeMillis()
ただし、結果が間違っていても構わないのであれば、この限りではありません。
の目的は
nanoTime
を測定することです。
経過時間
の目的は時間であり
currentTimeMillis
を測定することです。
壁掛け時計
時間です。一方をもう一方の目的に使うことはできません。なぜなら、コンピュータの時計は完璧ではなく、常にドリフトしており、時折修正する必要があるからです。 この修正は手動で行われるか、ほとんどのマシンの場合、システムクロック("wall clock")に小さな修正を継続的に発行するプロセスが実行されている可能性があります。これらは頻繁に発生する傾向があります。また、うるう秒が発生した場合にも、このような補正が行われます。
以来
nanoTime
の目的は経過時間の計測なので、このような小さな補正の影響を受けることはありません。使いたいものです。現在進行中のどのタイミングでも
currentTimeMillis
はずれてしまい、場合によってはマイナスになってしまいます。
でも、全体的に見れば、正しいコードのほうが、正しくないコードよりも優れているのではないでしょうか? それに
nanoTime
の方が短く打てます。
以前投稿した免責事項
nanoTime
は通常マイクロ秒の精度しかありませんが、これは有効です。また、状況によっては起動に1マイクロ秒以上かかることもあります(他のものも同様です)。
関連
-
java の例外が発生しました java
-
Google Chromeのエラー「Not allowed to load local resource」の解決策について
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] Javaで文字列値からenum値を取得する方法
-
[解決済み] Java の配列を表示する最も簡単な方法は何ですか?
-
[解決済み] Javaでメソッドの実行時間を計るにはどうしたらいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
springboot project MIMEタイプ text/htmlで転送された静的ファイルを読み込む。
-
IllegalArgumentException この例外を解決する方法
-
undefinedeclipse エラー。この行に複数のアノテーションが見つかりました: - 文字列を型解決に解決できない
-
eclipse で「アクセス制限: タイプ 'HttpServer' は API ではありません」というプロンプトが表示される。
-
Android Studio 3.1.2 で v4, v7 パッケージが見つからない シンボル 'AppCompatActivity' を解決できない
-
プロジェクトの依存関係を解決できなかった 解決
-
Java コンパイルエラー - スレッド "main" で例外 java.lang.Error: 未解決のコンパイル問題です。
-
Exception: java.util.NoSuchElementException: 行が見つかりません
-
起動時にEclipseエラーが発生しました。起動中に内部エラーが発生しました。java.lang.NullPoin: "Javaツーリングの初期化 "中に内部エラーが発生しました。
-
[解決済み] Javaでメソッドの実行時間を計るにはどうしたらいいですか?