2016-10-25 23 views
0

Firebirdの日付とタイムスタンプのデータ型では、どの日付が日付ゼロとみなされますか? firebird.orgウェブサイトの文書には、1898年11月17日に記載されています。 MS AccessとFB ODBCドライバを使用してFB 3.0データベースに接続すると、時間のみのデータを含むフィールドは、日付ゼロを18分の11秒として表示します。同じデータは、Delphiプログラムで12/30/1899として表示されます(デバッガでそれを調べる)。Firebirdの日付とタイムスタンプのデータ型の日付ゼロ

+0

まだグレゴリオ暦を採用していない国では偶然ですか? –

+1

私はこの不一致はおそらく11/17/1898と11/30/1899の両方が12/30/1899の前にあるためです。これは、日付のDelphiの「日のゼロ」であり、DelphiのRTLは、日付の数字。 – MartynA

+0

Firebirdについての答えはわかりませんが、DelphiのtDateTime型の場合、ゼロは1899-12-30を表します。 Delphi RTLは "負の日番号"に問題はなく、0001-01-01から9999-12-31の範囲の日付を処理します。 –

答えて

0

この質問を投稿して以来、IBExpertでデバッガを使用して、時間値のみを含むタイムスタンプフィールドを調べました。日付は1899/12/30と表示されます。これは現在のFirebird ODBCドライバ(またはAccessがデータを解釈する方法)にバグがあり、この例ではFirebirdのオンラインドキュメントが不正確である可能性があります。

関連する問題