[あすかぜ・ねっと]あすかぜ・ねっと自作ソフトCassava > サポート掲示板

Cassava Editor サポート掲示板

スレッド一覧に戻る
題名:
名前:
この名前を次回も使用する


スレッド一覧に戻る返信

[215] 日付・時間の計算

あすかぜ [2010/12/19 23:06:15]

http://www.asukaze.net/soft/cassava/bbs/index.cgi?t=213
からの転載です。
----
taka [2010/12/19 17:09:14]

お世話になります。
日付の計算について、
セルが「04/10/28 06:30:00」など、単一セルに年月日と時間が一緒に入ったものが、複数あります。
これらの内、選択したセルに対してInputBoxを用いて、例えば「06/10/01 05:00:00」から「10/07/21 14:30:00」までの
経過した日時分を足したいのですが、どうすればよいのでしょうか?
宜しくお願い致します。

Re: [215] 日付・時間の計算

あすかぜ [2010/12/19 23:18:15]

元スレッドにもあるように、Cassava マクロは日付・時間を計算する機能をもっていません。
そのため、必要な処理はすべて自分で書く必要があります。

1) 基準日の日時を入力する
2) 変更後の日時を入力する
3) (2) から (1) を引いて、差分を取得する。この時、日時は年・月・日・時・分・秒に分割し、数値として計算する。60秒・60分・24時間・28-31日・12か月 で繰り下がりをするのを考慮する。
4) 選択範囲繰り返し
4-1) 着目するセルの日時を取得する
4-1) (4-1) に (3) を加える。(3) と同様、年・月・日・時・分・秒に分割し、数値として計算する。繰り上がりを考慮する。
4-2) 着目するセルに (4-2) の結果を設定する。

近いうちにサンプルのマクロを書いてみようと思うので、もう少しお待ちください。
よろしくお願いします。

Re: [215] 日付・時間の計算

taka [2010/12/20 10:57:52]

迅速な対応、ありがとうございます。

/1) 基準日の日時を入力する
/2) 変更後の日時を入力する
/3) (2) から (1) を引いて、差分を取得する。この時、日時は年・月・日・時・分・秒に分割し、数値として計算する。60秒・60分・24時間・28-31日・12か月 で繰り下がりをするのを考慮する。

なるほど、それでは年月日や時間全ての単位を同一の単位(例えば秒)に変換して計算することになるのでしょうか。

そのCSVについて
特定時間周期で、データを記録しているのですが、コンピュータの不具合で、あるときを境に現在時間設定が狂ってしまい、それを現在時間に改修する必要があるのです。
例としては、2010年5月あたり以降のデータが、「02/01/01 00:00:00」から記録されています。
コンピュータを確認して、現在の時間「10/06/21 11:24:00」対するデータ記録時間が「02/02/15 06:10:30」と一致することを確認しているので、その差分を年月日時間セルに足して改修するという訳です。
手順は以下のような流れになろうかと考えておりました。

「02/01/01 00:00:00」から一定期間分の年月日時間セルを手動で選択範囲に選択する

データ記録時間「02/02/15 06:10:30」
現在の時間「10/06/21 11:24:00」
のそれぞれをInputBoxで入力し、その差分を求める。

選択範囲の年月日時間セルそれぞれに、差分を足す。

説明不足で申し訳ありませんでした。
どうか宜しくお願い致します。

Re: [215] 日付・時間の計算

あすかぜ [2010/12/26 11:09:04]

少し遅くなりましたが、マクロを作ってみました。

http://www.asukaze.net/soft/cassava/macro/asukaze/UnixTime.cms
http://www.asukaze.net/soft/cassava/macro/asukaze/bbs215_20101226.cms
この 2 つのファイル両方をマクロフォルダに置き、
Cassava Editor で bbs215_20101226.cms を実行してください。

日時は 1970/01/01 00:00:00 からの経過秒数 (Unix Time) に変換して計算しています。
1970年以前・2038年以降の日時は扱えません。
バグ等見つけたらご指摘お願いします。

よろしくお願いします。

Re: [215] 日付・時間の計算

taka [2010/12/26 17:01:16]

丁寧な対応、ありがとうございます。
マクロそのものまで作成して頂き恐縮です。
早速試してみようと思います。
バグ等見つかりましたら、またご報告致します。

ありがとうございました。

スレッド一覧に戻る返信