■掲示板に戻る■ 1- 最新50

日付の計算

1 :名無しさん@お腹いっぱい。 :2001/06/22(金) 08:01
博識な方、教えて下され。
現在の日付の「一日前」を一発で表示するコマンドってないでしょうか?
AIXってdateの-aが機能しないので、ちょっと困ってます。

5 :名無しさん@お腹いっぱい。 :2001/06/22(金) 13:59
perl だったら、こんなかんじ。

my @a = localtime(time-24*60*60);
printf "%s/%s/%s\n",$a[5]+1900,$a[4]+1,$a[3];

6 :名無しさん@お腹いっぱい。 :2001/06/22(金) 15:30
秒に直して、24*60*60引いて、年月日にまた戻せばいい。

7 :名無しさん@お腹いっぱい。 :2001/06/22(金) 15:39
>>6
>>5ではそうしてるよ。

8 :名無しさん :2001/06/22(金) 17:07
PCでなく、組み込み装置で時計機能が必要に
なったんでtimeの周辺全部再実装した
(作業中に他のソースは見てない)。
需要があるならあとで公開するが。どうかな。
スタート時刻を1970/01/01のlongに
するとtime互換。

9 :名無しさん@お腹いっぱい。 :2001/06/22(金) 18:18
>>8
親切だね。きれいなソースならみたいなぁ。
でも、ソースよりもアルゴリズムを解説して何の言語でも
実装できるように皆に教えてあげるといいんじゃないかな?

10 :名無しさん@お腹いっぱい。 :2001/06/22(金) 20:48
# date --date=yesterday
Thu Jun 21 20:48:36 JST 2001

11 :2 :2001/06/22(金) 20:56
例外の例外に気を取られて例外がスッと抜けてた。鬱だ。

12 :1 :2001/06/23(土) 03:45
おお!皆さんありがとうございます。
始めは2さんのように処理しようと考えていましたが、
シェルの中で5さんみたくPerlで処理する方向にしました。
では、逝ってきます。

13 :名無しさん@Emacs :2001/06/23(土) 13:07
午前1時ごろに前日分のログを集計する、というような限定的な用途にしか
使わないなら、たとえば
% env TZ=GMT date +%Y-%m-%d
とすることで朝9時までは前日の日付が出るぞ:-)

14 :名無しさん@お腹いっぱい。 :2001/06/25(月) 22:17
>>13
そこまで限定的な用途ならば、
cp today yesterday
date > today
を1日1回まわせばオッケー (^^;


新着レスの表示

名前: E-mail (省略可) :

read.cgi ver5.26+ (01/10/21-)