Scratchには、「2000年からの日数」 というブロックがあり、これは2000年1月1日午前0時0分0秒(UTC)からの経過日数を返します。 citeturn0search0このブロックを使って、基本的なプログラムと、少し発展させたプログラムの2つの例を紹介します。
1. 基本編:2000年からの経過日数を表示する
まずは、このブロックを使って、現在までの経過日数を表示する簡単なプログラムを作成します。
スクリプト
when green flag clicked
say (join [2000年から ] (join (floor (2000年からの日数)) [ 日経過しました]))

解説
2000年からの日数
ブロックは、2000年1月1日からの経過日数を小数で返します。floor
演算ブロックを使って、小数点以下を切り捨て、整数部分のみを取得します。join
ブロックで文字列を結合し、スプライトが「2000年から〇〇日経過しました」と発言します。
実行結果
- スプライトが「2000年から〇〇日経過しました」と表示します。
2. 発展編:特定の日付までの残り日数をカウントダウンする
次に、未来の特定の日付までの残り日数を計算し、カウントダウンを表示するプログラムを作成します。
スクリプト
when green flag clicked
set [targetDate v] to (10000) // 目標の日数(例:2000年から10000日目)
set [daysLeft v] to (targetDate - (floor (2000年からの日数)))
say (join [目標日まであと ] (join daysLeft [ 日です]))

解説
targetDate
変数に、目標とする日数を設定します(例では10000日)。2000年からの日数
ブロックで現在の経過日数を取得し、floor
で小数点以下を切り捨てます。targetDate
から現在の経過日数を引いて、残り日数をdaysLeft
変数に格納します。join
ブロックで文字列を結合し、スプライトが「目標日まであと〇〇日です」と発言します。
実行結果
- スプライトが「目標日まであと〇〇日です」と表示し、特定の日付までの残り日数を知らせます。
まとめ
- 基本編 では、
2000年からの日数
ブロックを使って、2000年からの経過日数を表示しました。 - 発展編 では、特定の日付までの残り日数を計算し、カウントダウンを表示するプログラムを作成しました。
2000年からの日数
ブロックは、日付や時間に関連するプログラムで活用できる便利なブロックです。 これを応用して、イベントのカウントダウンや日付管理など、さまざまなプロジェクトに挑戦してみてください。