0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Javascriptの実行時間を日時で表示

Last updated at Posted at 2020-06-17

プログラムの起動開始時刻と終了時刻をミリ秒で取得した後日時で表示するメモ

※注: 筆者脳筋につきゴリゴリやる

elapsed_time.js

let start_time = new Date();

// Do something...

let elapsed_time = Date.now() - start_time;

let ms=elapsed_time % 1000,                 // ミリ秒
s = elapsed_time % 60000 / 1000 | 0,          // 秒
m = elapsed_time % 3600000 / 60000 | 0,       // 分
h = elapsed_time % 86400000 / 3600000 | 0,    // 時
d = elapsed_time / 86400000 | 0;              // 日

console.log('起動時間'+(d?d+'':'')+(h?h+'時間':'')+(m?m+'':'')+s+''+ms);

  • 軽く解説
    • 1秒は1000ミリ秒
    • 1分は60000ミリ秒
    • 1時間は3600000ミリ秒
    • 1日は86400000ミリ秒
    • 0とORをとることによって小数点以下が消える。
    • 三項演算子はカッコでくくらないと文字列と合わせてくれない。
    • テスト環境はNode.js

2020/6/17 19時追記

  • @rfc828 さんにコメント欄でご指摘いただきました。私の脳筋コードと違いとてもスタイリッシュで好みだったので紹介させていただきます!ありがとうございます!

  • 日・時・分・秒の変数計算のところです。

stylish.js
let t = elapsed_time,
    ms = t % 1000,
    s = ~~(t /= 1000) % 60,
    m = ~~(t /= 60) % 60,
    h = ~~(t /= 60) % 24,
    d = ~~(t /= 24);

~~を付けることによって小数点以下を切り捨てることができるのですね。勉強不足でした。カッコ内で一時変数に順次代入していくことで、ミリ秒→秒→分→時→日の変換がとても分かりやすいと思いました。


 私が気がついていない誤字・脱字、それは違うよボケェ!というところあれば私としても是非直したいので教えてください。

0
0
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?