- PR -

時間間隔を取得したい

1
投稿者投稿内容
mak
会議室デビュー日: 2004/01/09
投稿数: 14
投稿日時: 2004-02-06 17:52
ある処理の開始から終了までの時間を取得したいです。

人から聞いたところによると経過時間を取得できる関数が
あるらしいのですが、探し方が悪いのか見つかりません。

VB.NETです。

ご教授よろしくお願いします。
まゆりん
ぬし
会議室デビュー日: 2002/08/12
投稿数: 539
お住まい・勤務地: よこはま
投稿日時: 2004-02-06 17:57
引用:

makさんの書き込み (2004-02-06 17:52) より:
ある処理の開始から終了までの時間を取得したいです。

人から聞いたところによると経過時間を取得できる関数が
あるらしいのですが、探し方が悪いのか見つかりません。

VB.NETです。

ご教授よろしくお願いします。




これですか?
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=7325&forum=7

#聞いた人から教えてもらえば良かったのでは?

_________________
まゆりん @ わんくま同盟
Blog る。
mak
会議室デビュー日: 2004/01/09
投稿数: 14
投稿日時: 2004-02-09 16:51
まゆりんさん、ありがとうございます。

引用:

まゆりんさんの書き込み (2004-02-06 17:57) より:

これですか?
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=7325&forum=7


せっかく教えていただいたのに申し訳ないのですが、意図していたものと
少し違っていたので断念しました。

代わりに別の方法で解決しました。
一応ソースを載せておきます。

  Dim StartTime As Double
  Dim EndTime As Double

  StartTime = Microsoft.VisualBasic.Timer
  '処理
  EndTime = Microsoft.VisualBasic.Timer

  MessageBox.Show((EndTime - StartTime).ToString("00000000.0000000000000"))

引用:

#聞いた人から教えてもらえば良かったのでは?


あいにくその人はなんていう関数か忘れてしまったそうです(^_^;

ゆうじゅん
ぬし
会議室デビュー日: 2004/01/16
投稿数: 347
投稿日時: 2004-02-09 16:58
TimeSpanはどうです?
Jubei
ぬし
会議室デビュー日: 2002/03/02
投稿数: 830
お住まい・勤務地: 関西
投稿日時: 2004-02-09 17:01
諸農です。

Win32APIでしょうか。

DWORD GetTickCount();
というのがあります。
「システムを起動した後の経過時間を、ミリ秒(ms)単位で取得します」
とのことです。


_________________
諸農和岳
Powered by Turbo Delphi & Microsoft Visual Studio 2005

十兵衛@わんくま同盟
http://blogs.wankuma.com/jubei/
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-02-09 17:23
引用:

makさんの書き込み (2004-02-09 16:51) より:

一応ソースを載せておきます。


 ん?MSDN上で、Microsoft.VisualBasic名前空間の下に、Timerというクラス/定数/メソッドが見つからないのですが?いや、ありました。DateAndTime.Timerですね。

 これ、
引用:

午前 0 時から経過した秒数を表す倍精度浮動小数点数型 (Double) の値を返します。


とあります。午前0時をまたぐと期待する結果は取得できないと予想されますが、よろしいですか?
#####
午後11時59分0秒から午前0時0分0秒だと、60秒を期待するのに、マイナス23時間59分が返ってきそう
#####


 なお、まゆりんさんの提示されたところでは「日」を返していますが、Date型は「日付と時間」を持っているので、

dim startTime as date = date.now
処理
dim span as timespan = date.now.subtract(startTime)
messagebox.show(string.format("{0}ミリ秒", span.TotalMilliseconds)

(アクセスするプロパティを換えただけ)でできます。
mak
会議室デビュー日: 2004/01/09
投稿数: 14
投稿日時: 2004-02-10 18:42
引用:

Jittaさんの書き込み (2004-02-09 17:23) より:
引用:

makさんの書き込み (2004-02-09 16:51) より:

一応ソースを載せておきます。


 ん?MSDN上で、Microsoft.VisualBasic名前空間の下に、Timerというクラス/定数/メソッドが見つからないのですが?いや、ありました。DateAndTime.Timerですね。

 これ、
引用:

午前 0 時から経過した秒数を表す倍精度浮動小数点数型 (Double) の値を返します。


とあります。午前0時をまたぐと期待する結果は取得できないと予想されますが、よろしいですか?
#####
午後11時59分0秒から午前0時0分0秒だと、60秒を期待するのに、マイナス23時間59分が返ってきそう
#####



業務アプリに組み込んだりするわけではないので問題ないです。

引用:


 なお、まゆりんさんの提示されたところでは「日」を返していますが、Date型は「日付と時間」を持っているので、

dim startTime as date = date.now
処理
dim span as timespan = date.now.subtract(startTime)
messagebox.show(string.format("{0}ミリ秒", span.TotalMilliseconds)

(アクセスするプロパティを換えただけ)でできます。



このやり方のほうがスマートな感じがするのでこちらを使わせていただきます。
皆さん、ありがとうございました。
1

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