2018年もいつのまにかあと50日を切っています。早いですね。そんな「今年あと◯日」というようなものをKLWPで表示してみます。また、それの派生として「いま今年の◯パーセント」のようなプログレスバーも作ります。
大したことじゃありません。小ネタです。
- 本記事は広告およびアフィリエイトプログラムによる収益を得ています。
今年あと◯日◯時間◯分◯秒
$tf()$を使います。
$tf(2019y1M1d0h0m0s,D'Day'hh'h'mm'm'ss's')$
これで今年の残り日数、というか2019年1月1日0時0分0秒までの時間が表示されます。
2019年に限らず常に「来年の1月1日0時0分0秒」にしたい場合は
$tf((df(yyyy)+1)+y1M1d0h0m0s,D'Day'hh'h'mm'm'ss's')$
これでイケルと思います。
$tf((df(yyyy)+1)+y1M1d0h0m0s,S'秒')$
これだと「◯日◯時間」のような形式ではなく「◯秒」と秒換算で表示します。刻々と減っていく秒数を見て、戰いてください。
プログレスバーで今年の経過時間を可視化
次に、プログレスバーを使って、今年が現時点でどれくらい経過したのかを可視化してみます。
プログレスバーの種類は「自作」にし、「最大」と「段階」を計算機マークで演算子入力可能にします。
1年間の秒数を「最大」にセット
1年の日数は$df(D,12M31d)$で表示できます。うるう年があるので単純に365日じゃないので。また、1日は24時間、1時間は60分、1分は60秒なので24×60×60=86400で1日は86400秒です。なので、今年1年を秒数で表すと以下のようになります。
$df(D,12M31d)*86400$
これを「最大」に入れます。ちなみに1年365日なら31536000秒ですね。
現在の経過秒数を「段階」にセット
現在の経過秒数は以下の通り。
$(df(D)-1)*86400+df(h)*3600+df(m)*60+df(s)$
(df(D)-1)*86400というのは、df(D)で今日の年での通日なのでそれから1を引いて昨日までの日数、それに1日の秒数である86400を掛けて「昨日までの総秒数」となります。
df(h)*3600+df(m)*60+df(s)というのは今日の時間を経過秒数に変換しているものです。
この2つを足して、今年の経過秒数がわかります。これを「段階」に入れます。
これで、現在の1年間における経過日数を表すプログレスバーの完成です。
まとめ
とりあえず基本的なテキストとプログレスバーで表示してみました。応用すれば図形などで使ってもっと多彩な表現も可能だと思います。
秒で表示するとまだまだありそうですが、こうしてプログレスバーで見るともう今年もだいぶ終わってしまったんだなぁ、私はこの1年間なにをしてたんだろうなぁ、と考え込んでしまいますね。
年末に向けて、カウントダウンホーム画面を作ってみるのも面白いかもしれませんね。