Solaris日付を使用して2週間前の日付を取得するには?

Solaris日付を使用して2週間前の日付を取得するには?

Linuxは以下を使用します。

date -d "2 weeks ago" +%b

ソラリスでこれに該当するものは何ですか? 、オンラインで検索しましたが見つかりませんでした。

答え1

Solarisはdateこれを行うことはできません。 AFAICTのマニュアルページ、任意の日付も表示できないため、エポック以降の秒単位で日付を取得し、2週間(14 * 86400 = 1209600秒)を引いた後に提供することはできませんdate +%b

可能であれば、GNU日付をインストールしてください。 rootアクセス権を持っている場合は、/usr/local/gnu/binまたは同様の項目でこれを行うことができます(BTW、GNU Dateを含むGNU CoreutilsはSolaris用に事前パッケージされて利用可能です)ここ)または使用できない場合は〜/ binにあります。

GNU日付をインストールできない場合、次善策はstrftime()上記の計算を実行するラッパーを作成するか、PerlまたはPythonで5行コードを作成することです。どちらも優れた日付処理ライブラリを備えています。

答え2

gdateその代わりにdate、従来の Solaris 日付コマンドの代わりに GNU 日付が提供されます。これは、非常に古いバージョンのSolaris(つまり、Solaris 10以下)を使用しない限り機能します。

ローカルゾーンにいる場合は、グローバルゾーンがgdateデフォルトで使用できるにもかかわらず、sysadmはそれを使用できないと判断した可能性があります。この場合は、行き、その人が...(ここで自分の言葉を使用してください)と言ってください。

より多くの情報を知りたい場合:

Solarisの基本インストール(ユーザーツール)

関連情報