• ベストアンサー

時間の計算の方法

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日目なもので。。。。

質問者が選んだベストアンサー

  • ベストアンサー
  • yanmaa
  • ベストアンサー率45% (207/457)
回答No.1

まずは、参考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の関数などで加減算してください。

参考URL:
http://asia.microsoft.com/japan/developer/scripting/default.asp
mashiro78
質問者

お礼

リファレンスより丁寧な解説、ありがとうございました。 おかげさまで無事に解決しました。 参考URLも助かりました。

その他の回答 (5)

  • mann555
  • ベストアンサー率46% (29/62)
回答No.6

タイポが多くて申し訳ない.... time3 = #00:00:00# time3 = time3 + (Timevalue(time1) - timevalue(time2)) です 今度こそ間違えはないよなぁ(汗

mashiro78
質問者

お礼

何度も丁寧なご回答ありがとうございました。 近似値についてはこれから試してみようと思います。

  • mann555
  • ベストアンサー率46% (29/62)
回答No.5

よく見たらさらにミスってるし....(苦笑 time3 = new3 * 月の平均日数 * 時間 * 分 * 2        ↓ time3 = new3 * 30 * 24 * 60 * 2 です。

  • mann555
  • ベストアンサー率46% (29/62)
回答No.4

ミスってました...f(^^;;;; time3 = #00:00:00# time3 = time3 + (Timevalue(time1) - timevalu(time2)) です。

  • mann555
  • ベストアンサー率46% (29/62)
回答No.3

時間だけでよいのなら下記のように 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)
回答No.2

未検証なのですが試して見て下さい。 3は引数で「地域プロパティ」で指定されている形式で 時刻を表示するものです。 time3 = FormatDateTime(new3,3) 参考まで。

mashiro78
質問者

お礼

ご回答ありがとうございました。 アドバイス通りの方法でうまく表示できました。

関連するQ&A