web-dev-qa-db-ja.com

コマンドラインカレンダー計算機はありますか?

これらの機能を提供するコマンドラインカレンダー計算はありますか?

  • 日付(プラス|マイナス)日付間隔の計算
  • ユーザー指定の入力および出力形式
5
Howard

dateコマンドは、これの多くを実行します。

たとえば、11月1日と3週間はdate -j -v+3w -f"%m/%d/%y" "11/01/10"

マニュアルページの例を次に示します。

コマンド:

 date "+DATE: %Y-%m-%d%nTIME: %H:%M:%S"

表示されます:

 DATE: 1987-11-21
 TIME: 13:36:16

ヨーロッパ/ロンドンのタイムゾーンでは、コマンドは次のとおりです。

 date -v1m -v+1y

表示されます:

 Sun Jan  4 04:15:24 GMT 1998

現在は月曜日8月4日04:15:24BST1997です。

コマンド:

 date -v1d -v3m -v0y -v-1d

2000年の2月の最終日を表示します。

 Tue Feb 29 03:18:00 GMT 2000

したがって、コマンドを実行します。

 date -v30d -v3m -v0y -v-1m

2月30日などの日付がないからです。

コマンド:

 date -v1d -v+1m -v-1d -v-fri

月の最終金曜日が表示されます。

 Fri Aug 29 04:31:11 BST 1997

現在は月曜日8月4日04:31:11BST1997です。

コマンド:

 date 0613162785

日付を「1985年6月13日16:27」に設定します。

 date "+%m%d%H%M%Y.%S"

あるマシンで使用して、別のマシンでの設定に適した日付を印刷できます。

コマンド:

 date 1432

日付を変更せずに、時刻を午後2時32分に設定します。

最後にコマンド:

 date -j -f "%a %b %d %T %Z %Y" "`date`" "+%s"

日付からの出力を解析し、エポック時間で表現するために使用できます。

7
Alan Shutko

カスタム入力および出力形式については、 dateutils を確認してください。日付(プラス|マイナス)の日付間隔の計算を行うためのdaddコマンドを提供します。

_$ dadd -i '%B %d %Y' 'November 1 2012' +3w
2012-11-22
$ dadd 2012-11-22 -3w -f '%B %d %Y'
November 01 2012
_

_-i|--input-format_オプションはすべてのツールで機能し、ほとんどのstrptime(3)指定子をサポートします。 _-f|--format_オプションについても同じです。

免責事項:私はツールセットの作成者です。

4
hroptatyr

Zoredacheが言うように、任意のスクリプトプログラミング言語を使用して簡単に実現できます。

これがRubyの例です

 > irb
 1.9.3-p286 :001 > require 'date'
  => true
 1.9.3-p286 :014 > Date.new(2012,11,1) - Date.new(2012,1,2)                                                                                                                                                                                                                    
  => (304/1) 
 1.9.3-p286 :015 > Date.new(2012,11,1) + 10
  => #<Date: 2012-11-11 ((2456243j,0s,0n),+0s,2299161j)> 
 1.9.3-p286 :016 > Date.new(2012,11,1) - 205
  => #<Date: 2012-04-10 ((2456028j,0s,0n),+0s,2299161j)> 
4
interskh