[MUSASHI-users 31] Re: xtcalのmanページについて

Back to archive index

Yukinobu Hamuro hamur****@adm*****
2003年 12月 27日 (土) 11:14:49 JST


羽室です

すみません。
マニュアルが古いままになっていました。

以前は、秒数計算について、現在のmanページにあるように、日付をまたがった計算を前提としていました。
しかし、現在のバージョンでは、時刻間計算のみ(日付をまたげない)可能なように変更しました。
time(時刻1、時刻2)でお願いします。

この変更に伴いまして「ユリウス通日」を導入しました。
ユリウス通日は、整数部にBC4712/01/01からの経過日数を、少数部に時刻を小数点で表したものです。
関数としては、以下の三つを提供しています。
 dt2jd:文字列としての日付+時刻からユリウス通日を求める。
 jd2date: ユリウス通日から文字列としての日付を求める。
 jd2time: ユリウス通日から文字列としての時刻を求める。

そこで次のようにすれば時間を求めることができます。
'dt2jd($日付2,$時刻2)-dt2jd($日付1,$時刻1))*86400'
ちなみに、「86400」は一日の秒数です。

ただし、上記だけですと計算誤差が出てしまい、2秒が1.99999などになってしまうので、丸めておく必要があり、以下のようにround関数を使えばよいでしょう。
round((dt2jd($日付2,$時刻2)-dt2jd($日付1,$時刻1))*86400,1)
非常にいかつい式になってしまいますが、現状の関数でも実現可能です。

よろしくお願いします。



nakahara さんは書きました:
>こんにちは。中原と申します。
>
>xtcalのmanページの中に、timeというコマンドがありますが、
>manページでは、-c 'time($日付,$時間,$日付2,時間2)'という書き方が可能となっ
>ていますが
>実際やってみると、エラーが出てしまいます。
>timeの引数はいくつまで指定できるのですか?
>
>_______________________________________________
>MUSASHI-users mailing list
>MUSAS****@lists*****
>http://lists.sourceforge.jp/mailman/listinfo/musashi-users
>

----
Yukinobu Hamuro  hamur****@adm*****



MUSASHI-users メーリングリストの案内
Back to archive index