[ 最終更新日:2026-06-01(Mon) 17:15 ]
ひと目でわかる一日(バーグラフ時計)
datetime を使ったバーグラフ時計の作成
コンソール時計に tty-clock という有名なアプリがあります。第1印象として、かっこいい!と思うと同時に、時間の表示の割に日付の表示が小さいと思いました。
何とかならないのかと思いましたが、オプションにもないようだし!
思ったことは自分で作れとばかりに、バーグラフ時計をPythonで作ってみました。
一応の完成形は、次のようなものです。

結果的に表示文字の大きさも変えられないし、思い通りにはなっていませんが、一日の経過時間と残り時間もわかるので、これにタスク管理をやらせるのも一興かと。
コード
単純なコードしか利用していません。否、単純なコードしか利用できません。
特に説明は必要ないと思うので、そのまま公開させていただきます。
#!/usr/bin/python
import datetime
import time
import subprocess,sys
try:
while True:
dt = datetime.datetime.now()
dt_day = dt.strftime('%Y/%m/%d')
dt_time_hour = dt.strftime('%H')
dt_time_minute = dt.strftime('%M')
dt_week = dt.weekday()
week_day = {0:'月',1:'火',2:'水',3:'木',4:'金',5:'土',6:'日'}
dt_weekday = week_day[dt_week]
remaining_minutes = 1440 - (int(dt_time_hour) * 60 + int(dt_time_minute))
past_minutes = (int(dt_time_hour) * 60 + int(dt_time_minute))
remaining_minutes_bar = int( remaining_minutes / 60 )
past_minutes_bar = int( past_minutes / 60)
subprocess.run('clear')
print('\n')
print(' ',dt_day,'(' + dt_weekday + ')')
print(' ',' ' * remaining_minutes_bar,dt_time_hour + ' ' + dt_time_minute)
print('過ぎ去りし:',f'{past_minutes:>4}','分',' ' * remaining_minutes_bar,'⤵️')
print('本日の残り:',f'{remaining_minutes:>4}','分', "\033[32m" + '|' + "\033[0m",'|' * remaining_minutes_bar + "\033[35m"+'|' * past_minutes_bar +"\033[0m","\033[32m" + '|',"\033[0m")
time.sleep(2)
subprocess.run('clear')
print('\n')
print(' ',dt_day,'(' + dt_weekday + ')')
print(' ',' ' * remaining_minutes_bar,dt_time_hour + ':' + dt_time_minute)
print('過ぎ去りし:',f'{past_minutes:>4}','分',' ' * remaining_minutes_bar,'⤵️')
print('本日の残り:',f'{remaining_minutes:>4}','分', "\033[32m" + '|' + "\033[0m",'|' * remaining_minutes_bar + "\033[35m"+'|' * past_minutes_bar +"\033[0m","\033[32m" + '|' + "\033[0m")
time.sleep(2)
# Exit cleanly
except KeyboardInterrupt:
sys.exit(0)