- ベストアンサー
時間の計算の方法
2つのStr(time1、time2)に「yyyy/mm/dd hh:mm:ss」の形で データが入っていて、time2 - time1をtime3に「hh:mm:ss」に フォーマットして入れたいのですが、 VBの場合、 new1 = CDate(time1) new2 = CDate(time2) new3 = new2 - new1 time3 = Format(new3, "hh:mm:ss") で可能だと思いますが、ASPの場合はどのようにすればいいのですか? Formatを認識しないらしく、文字化けしてしまうので、 どなたか教えてください。よろしくお願いします。 まだASP歴、3日目なもので。。。。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
まずは、参考URLを見てVBScriptとJScriptのリファレンスをダウンロードする事をお勧めします。 残念ながらformat関数はないですし、FormatDateTime 関数は FormatDateTime(Date[, NamedFormat]) 引数 Date 必ず指定します。書式を変換する日付式を指定します。 NamedFormat 省略可能です。使用されている日付/時刻形式を表す数値を指定します。省略すると、定数 vbGeneralDate が使用されます。 設定値 引数 NamedFormat の設定値は次のとおりです。 定数 値 内容 vbGeneralDate 0 日付か時刻、または両方を表示します。日付部がある場合は、日付を短い形式で表示します。時刻部がある場合は、時刻を長い形式で表示します。両方がある場合は、両方とも表示します。 vbLongDate 1 [地域のプロパティ] で指定されている長い形式で日付を表示します。 vbShortDate 2 [地域のプロパティ] で指定されている短い形式で日付を表示します。 vbLongTime 3 [地域のプロパティ] で指定されている形式で時刻を表示します。 vbShortTime 4 24 時間形式 (hh:mm) で時刻を表示します。 です。 また、datediffやdateaddの関数などで加減算してください。
その他の回答 (5)
- mann555
- ベストアンサー率46% (29/62)
タイポが多くて申し訳ない.... time3 = #00:00:00# time3 = time3 + (Timevalue(time1) - timevalue(time2)) です 今度こそ間違えはないよなぁ(汗
お礼
何度も丁寧なご回答ありがとうございました。 近似値についてはこれから試してみようと思います。
- mann555
- ベストアンサー率46% (29/62)
よく見たらさらにミスってるし....(苦笑 time3 = new3 * 月の平均日数 * 時間 * 分 * 2 ↓ time3 = new3 * 30 * 24 * 60 * 2 です。
- mann555
- ベストアンサー率46% (29/62)
ミスってました...f(^^;;;; time3 = #00:00:00# time3 = time3 + (Timevalue(time1) - timevalu(time2)) です。
- mann555
- ベストアンサー率46% (29/62)
時間だけでよいのなら下記のように time3 を初期化してから足し込めば出来ます。 time3 = #00:00:00# time3 = time3 - (Timevalue(time1) - timevalu(time2)) あとmashiro78さんの方法では new3 でシリアル値(?)になってしまいますので 次の計算式で差の秒数(近似値)を出すことが出来ます。 time3 = new3 * 月の平均日数 * 時間 * 分 * 2 ↓ time3 = new3 * 30 * 60 * 2
- sienna
- ベストアンサー率35% (51/145)
未検証なのですが試して見て下さい。 3は引数で「地域プロパティ」で指定されている形式で 時刻を表示するものです。 time3 = FormatDateTime(new3,3) 参考まで。
お礼
ご回答ありがとうございました。 アドバイス通りの方法でうまく表示できました。
お礼
リファレンスより丁寧な解説、ありがとうございました。 おかげさまで無事に解決しました。 参考URLも助かりました。