- PR -

DATE型の引き算

1
投稿者投稿内容
なな
ベテラン
会議室デビュー日: 2003/09/18
投稿数: 79
投稿日時: 2003-11-07 13:40
いつも参考にさせていただいてます。
今回実現したいことは
例えば


Dim BackTime As Date = 2003/11/07 17:00:00
Dim NowTime As Date
上記のBackTime変数とは別に現在の時刻を取得してNowTime変数の中に格納し、
二つの変数の時間差を取得したいのですが普通に

NowTime - BackTime

とした場合は構文エラーになってしまいます。
Date型での引き算は無理でしょうか?
もし、ご存知の方がいらっしゃればご教授願います。

まゆりん
ぬし
会議室デビュー日: 2002/08/12
投稿数: 539
お住まい・勤務地: よこはま
投稿日時: 2003-11-07 14:06
こんにちは。

DateTime 減算演算子というのがありますので
System.DateTime.op_Subtraction(NowTime, BackTime)
とすればNowTimeからBackTimeを差引いた時間が取得できると思います。
#DateTime 減算演算子 (DateTime, DateTime)
dai
ベテラン
会議室デビュー日: 2001/08/28
投稿数: 85
投稿日時: 2003-11-07 14:10
NowTime.Subtract(BackTime) でもよいかと。

#DateはDateTimeのエイリアスなんですよね?(VB.NET知りません...)
なな
ベテラン
会議室デビュー日: 2003/09/18
投稿数: 79
投稿日時: 2003-11-10 09:54
まゆりんさん、daiさん返答ありがとうございました。
引き算はまゆりんさんのやり方で試したところ出来ました!!
daiさんのやり方も試してみたのですが
以下のようなエラーが出てしまいました。
-----------------------------------------------------------------------
NowTime.Subtract(BackTime) で実行すると↓のようなエラーが出ます。

NowTime.Subtract' は宣言されていないか、またはそれを含むモジュールがデバッグ
セッションで読み込まれていません。
-----------------------------------------------------------------------

なにかIMPORTする必要がありますかねぇ(?)




dai
ベテラン
会議室デビュー日: 2001/08/28
投稿数: 85
投稿日時: 2003-11-10 18:35
Subtract はインスタンスメソッドなので、
コード:
Dim BackTime As Date = "2003/11/07 17:00:00"
Dim NowTime As Date = Now
MsgBox(NowTime.Subtract(BackTime).Days.ToString() & " 日")


とします。
1

スキルアップ/キャリアアップ(JOB@IT)