見出し画像

最後の時をJavaScriptで書いてみる

美術館に足を運び、アート鑑賞をするのが趣味です。GW最終日。外は雨。
こんな日に美術館に行っても混雑で、ストレスを感じるので、本棚から妻が所有しているクリスチャン・ボルタンスキーのLifetimeを眺めることに。

クリスチャン・ボルタンスキーの作品は、おどろおどろしさもありますが、生と死、人間の本質とは?などを考えるきっかけとなるので好きです。定期的に足を運んでいる瀬戸内海の豊島では、心臓音のアーカイブが有名ですが、自分はささやきの森の方が好みです。

今日は画集を開き、最後の時(Derniere seconde)に目がとまりました。

ボルタンスキーが生きた現時点までの時間を秒単位で示すカウンターで、作家の死の瞬間に止まることになる。という作品で、彼の展覧会で度々目にしました。その彼も2年前にあの世にさり、今後は目にすることがないのだろう。

と思い、ChatGPTを活用しながらJavaScriptを書いてみます
まずは、ボルタンスキー氏の誕生日を調べ、Chatで質問。

なるほど、と思えるサンプルコードが即座に表示され、軽く手直し

// 1944年9月6日0時0分のタイムスタンプを取得
const startTime = new Date('1944-09-06T00:00:00').getTime();

// 経過時間を更新して表示する関数
function updateElapsedTime() {
  // 現在時刻のタイムスタンプを取得
  const currentTime = new Date().getTime();

  // 経過秒数を計算
  const elapsedTime = Math.floor((currentTime - startTime) / 1000);

  // コンテナ要素を取得
  const container = document.getElementById('elapsed-time');

  // コンテナ要素に経過時間を表示
//   container.innerText = `経過秒数: ${elapsedTime}秒`;
  container.innerText = `${elapsedTime}`;
}

// 1秒ごとに経過秒数を更新して表示する
setInterval(updateElapsedTime, 1000);

main.jsで保存し、このファイルを呼び出すhtmlを作成。

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>最後の時</title>
    <style>
      html, body {
        height: 100%;
      }
      body {
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: black;
      }
      #elapsed-time {
        font-family: "Roboto", sans-serif;
        font-size: 2rem;
        color: red;
        letter-spacing: 1px;
      }
    </style>
  </head>
  <body>
    <div id="elapsed-time">00:00:00</div>
    <script src="main.js"></script>
  </body>
</html>

とりあえず動作(見た目はオリジナル作品とほど遠いが…)

そして、JavaScriptの

const startTime = new Date('1944-09-06T00:00:00').getTime();

を自分の誕生日に変更して(生まれた時間は知らないが)、完成。
長く生きて来たなぁ。と、このnoteを書いている間にも、時を刻んでいることを実感。

この記事が気に入ったらサポートをしてみませんか?