web-dev-qa-db-ja.com

ncalの英国ロケールのユリウス暦

私のマシンでは、ncalは国コードをGBとして識別し、それを使用してグレゴリオ暦への移行の日付を検索します。calはデフォルトで同じ日付を使用すると思います。

cal:

$ cal 09 1752

   September 1752     
Su Mo Tu We Th Fr Sa  
       1  2 14 15 16  
17 18 19 20 21 22 23  
24 25 26 27 28 29 30  

ncal:

$ ncal 09 1752

    September 1752    
Mo    18 25         
Tu  1 19 26         
We  2 20 27         
Th 14 21 28         
Fr 15 22 29         
Sa 16 23 30         
Su 17 24            

ただし、ncalを古いcalスタイルの出力に切り替えると、これは消えます。

ncal -b 09 1752

   September 1752     
Mo Tu We Th Fr Sa Su  
             1  2  3  
 4  5  6  7  8  9 10  
11 12 13 14 15 16 17  
18 19 20 21 22 23 24  
25 26 27 28 29 30     

これは意図されたものですか? ncalで異なる国コードを指定する場合も同じことが起こります。

[編集]使用するコマンドラインを追加しました。

1
dgel

ソースコードを見ると、-bオプションがDebianパッチによって追加されています。 BSDオリジナルのncalにはすでに-Cがありましたが、なぜその上に-bを追加したのかわかりません。

-b-Cの両方、およびncalcalとして開始すると、flag_backwardフラグが設定されます。

ただし、calとして呼び出されると、それは以前に実行され、その場合、グレゴリオ暦の切り替えは 英国の日付に強制されます ですが、-Cではまったく実行されません。または-b

それは見落としのように見えますが、それを回避する方法はないと思います。あなたが持っている選択肢は次のとおりです。

  • ncalcalとして呼び出して、UK1752-09-02スイッチを取得します
  • ncal -bまたはncal -Cに電話して、ユリウス暦を取得しないでください
2