今回は日付を扱うdateコマンドです。UNIX系のdateコマンドについて説明します。なお、機能は異なりますが、dateコマンドはWindowsのPowerShell、コマンドシェル(command.com)にもあります。

さて、今回もデスクトップのsampleディレクトリにサンプルとなるテキストファイルを入れておきます。また、カレントディレクトリはsampleディレクトリとします。コマンドならcd ~/Desktop/sampleです。

 これまでに何度か説明のないままdateコマンドを使ってきました。というか説明した気になっていましたが、連載目次を見返したら全く説明してませんでした。そんなdateコマンドですが、UNIX系でも系統によって使えるオプションが異なります。man dateとすると以下のようになります。また、構築している環境によっても異なる場合があります。

 dateコマンドで複雑なことはしない前提であれば基本的な指定だけで十分だと思います。より複雑なことをしなければならない場合はDateutilsなど日付ユーティリティを入れる方法もあります。

現在の日付を表示

 まず現在の日付を表示してみましょう。この場合は単純にdateと入力しリターンキーを押すだけです。表示されるのはローカルタイムです。

date

 ローカルタイムではなく協定世界時(昔の名前ならグリニッジ標準時)を表示したい場合は-uを指定します。

date -u

 UbuntuなどLinuxであればロングオプションで--utcを指定することもできます。macOSではエラーになります。

date --utc

現在の時間を表示

 次に現在の時間を表示してみましょう。dateとくればきっとtimeだろうと思いtimeと入力すると予想とは違った結果になります。

 timeはコマンドなどの処理時間を計測します。timeの後にコマンド名などを指定すれば処理にかかった時間などを表示してくれます。プログラムを開発している時には便利かもしれません。

time date

 ちなみにWindows/MS-DOSのコマンドシェル(command.com)ではtimeコマンドがあり、時間の表示と設定ができます。timeと入力すると新たな時間設定を求めてきますが、設定しない場合はそのままリターンキーを押します。

 ただ、現在のWindowsでは時間を変更すると問題が発生するので、新たな時間を入力しても図のようなメッセージが表示されてしまいます。

 話がそれたので今度こそ現在の時間を表示しましょう。24時間制で表示する場合は以下のように+%Rを指定します。

date +%R

日付を利用する

この記事は
Members+会員の方のみ御覧いただけます

ログイン/無料会員登録

会員サービスの詳細はこちら