nenonenoです。こんにちわ
Windows98,VB6SP5の環境でDate型の変数dtmNext,dtmToを比較しようとしたのですが、同じはずなのに片方が大きいと判定していまいます。
datediffでしらべると0:00:00と返すので、同じだと思うのですが...
使い方が悪いのであれば、どこか指摘していただけるとありがたいです。
よろしくお願いします。m(_ _)m
Dim dtmNext, dtmTo, dtmTmp As Date
この間にもコードがあります
Debug.Print "dtmNext:"; dtmNext; "dtmTo:"; dtmTo
If dtmNext = dtmTo Then Debug.Print "Pass2 ="
If dtmNext > dtmTo Then Debug.Print "Pass2 >"
If dtmNext < dtmTo Then Debug.Print "Pass2 <"
dtmTmp = DateDiff("n", dtmNext, dtmTo)
Debug.Print "dtmTmp:"; dtmTmp
↓---------------------------イミディエイトウインドウの表示
dtmNext:03/02/17 15:00:00 dtmTo:03/02/17 15:00:00
Pass2 >
dtmTmp:0:00:00
No.2ベストアンサー
- 回答日時:
日付時刻型の内部表現は浮動小数点数です。
ご質問のケースではたぶん、1秒未満の端数部分が等しくないのでしょう。
Excel 2000で試してみましたが、小数部分で小さな差があっても、DateDiff関数では差はゼロと返されるようです。
?CDbl(#2003/02/17 15:00:00#)
37669.625
?Format$(CDate(37669.625),"yyyy/mm/dd hh:nn:ss")
2003/02/17 15:00:00
?Format$(CDate(37669.624999),"yyyy/mm/dd hh:nn:ss")
2003/02/17 15:00:00
?Format$(CDate(37669.625001),"yyyy/mm/dd hh:nn:ss")
2003/02/17 15:00:00
?CDate(37669.624999) = CDate(37669.625)
False
?DateDiff("s", CDate(37669.624999), CDate(37669.625))
0
そうですね。浮動小数点演算という事をすっかり忘れていました。
こちらでもテストしてみましたが、おっしゃる通りの現象となりました。
一度計算したDeta型は茣蓙が含まれていると思うべきですね。
datediff関数を使って比較するか、関数を作るかしようと思います。
テストまでして頂いて、ありがとうございました。感謝します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) パイソンのプログラムで continue と passの違い 3 2022/03/25 07:38
- Visual Basic(VBA) 順列をランダムに発生するプログラム 1 2022/11/16 12:16
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- Access(アクセス) ExcelのVBAコードについて教えてください。 4 2023/01/20 09:44
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- その他(プログラミング・Web制作) 十進BASICでの再帰についての質問です。 2 2022/11/18 09:17
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- Visual Basic(VBA) Excel VBAの解読について質問があります。 概要は、マクロでチェックボックスにチェックすると日 1 2023/02/10 07:50
- Visual Basic(VBA) ExcelVBAでDo Until loopのネスト、IF文を使って一致する物と一致しない物としたい 11 2022/12/24 17:46
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
このQ&Aを見た人はこんなQ&Aも見ています
-
好きな人を振り向かせるためにしたこと
大好きな人と会話のきっかけを少しでも作りたい、意識してもらいたい…! 振り向かせるためにどんなことをしたことがありますか?
-
一番最初にネットにつないだのはいつ?
ネットユーザーもいろんな世代が生まれていますが、始めて接続したときのワクワクは同じはず! 人生で一番最初にネットに接続したときの思い出を教えて下さい。
-
【お題】マッチョ習字
【大喜利】 「精神を鍛えるため」にと、ジムから書初めの宿題を出されたマッチョたちが半紙に書いてきたこと
-
自分の通っていた小学校のあるある
進学したり大人になってから、「あれって自分の小学校だけだったのかな」と思うことありますよね。 逆に「他の小学校ってそんなことするの!?」と思ったり。 そんな「自分の通っていた小学校」のあるあるを教えてください!
-
2024年においていきたいもの
2024年もあとわずかですが、いま抱えているもので「これは来年にもっていきたくないなぁ」というものを教えて下さい。
-
任意のフォームが表示されているかを知りたい
Visual Basic(VBA)
-
worksheetFunctionクラスのVlookupプロパティを取得できません エラーへの対応
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・「黒歴史」教えて下さい
- ・2024年においていきたいもの
- ・我が家のお雑煮スタイル、教えて下さい
- ・店員も客も斜め上を行くデパートの福袋
- ・食べられるかと思ったけど…ダメでした
- ・【大喜利】【投稿~12/28】こんなおせち料理は嫌だ
- ・前回の年越しの瞬間、何してた?
- ・【お題】マッチョ習字
- ・モテ期を経験した方いらっしゃいますか?
- ・一番最初にネットにつないだのはいつ?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・2024年に成し遂げたこと
- ・3分あったら何をしますか?
- ・何歳が一番楽しかった?
- ・治せない「クセ」を教えてください
- ・【大喜利】【投稿~12/17】 ありそうだけど絶対に無いことわざ
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・集合写真、どこに映る?
- ・自分の通っていた小学校のあるある
- ・フォントについて教えてください!
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Eclipseの対応する括弧の強調表...
-
エクセルのVBAで日付を検索し転...
-
「eclipseで作るカレンダー(ス...
-
コンボボックスに日付を表示する
-
DataGridViewでyyyy/MM/dd
-
今日より前の書き方 マクロ
-
SQLで抽出
-
VBA 日付、未来の日付はエラー...
-
C#で日付をdateTimePickerに読...
-
1970年1月1日からの現在時間...
-
VB 日付範囲チェック
-
ユーザーフォームのラベルに日...
-
VBでDate型の大小比較がうまく...
-
テキストボックスに今日の日付...
-
JavaScriptで日付別のテキスト...
-
指定した日付が、その月の第何...
-
MonthView 日付取得方法
-
ミリ秒の取得の仕方について
-
【Excel VBA】条件に合った行の...
-
VisualBasic6.0のFormat関数で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Eclipseの対応する括弧の強調表...
-
エクセルのVBAで日付を検索し転...
-
DataGridViewでyyyy/MM/dd
-
ユーザーフォームのラベルに日...
-
今日より前の書き方 マクロ
-
VisualBasic6.0のFormat関数で...
-
システム日付とは?
-
VB6.0 のformat関数について
-
3人のじゃんけんのプログラム
-
コンボボックスに日付を表示する
-
VBA 日付、未来の日付はエラー...
-
【Excel VBA】条件に合った行の...
-
指定した日付が、その月の第何...
-
1本あたり○円と表示する時どの...
-
VB 日付範囲チェック
-
【VBA】土日をスキップして日付...
-
JSPからYYYYMMDDで日付入力する
-
VBでDate型の大小比較がうまく...
-
VBA 日付・時刻の判別 時刻を認...
-
テキストボックスにカレンダー...
おすすめ情報