5

私はいくつかの奇妙な古いシステムからいくつかのデータを読み込むように任命されました。
システムには多くの日付が含まれていますが、それらはすべて奇妙な形式になっています。55,000それらは、およそから。までの範囲の整数です80,000

私は確かに2つの日付を知っています:

58,112 equals February 5, 1960  (originally written as Feb 2,1960 [*])
61,439 equals March 16, 1969

[*] This typo explains some of the comments initially challenging the
    leap-year awareness of the calendar.

これらの整数は、1800年12月28日から経過した日数のように見えます。しかし、それはカレンダーを開始するのに非常に奇妙な日付だと思います。うるう年で何かが起こっている可能性がありますが、それは後で問題を引き起こすことになるでしょう。

誰かがこのカレンダーを認識していますか?これらの整数を人間が読める形式の日付に変換する適切な方法を教えてもらえますか?

4

5 に答える 5

7

クラリオンかもしれません。私はSQLへの同様の古いデータベース変換で作業しています、そしてそれはファイル(* .dat)がクラリオンであると理解しました

于 2010-12-16T10:28:50.713 に答える
4

私はユリウス暦でグレゴリオ暦を表すシステムを使用しています。ユリウス日をグレゴリオ暦に変換する場合は、1800年12月28日までの日数を追加するだけで済みます。

SQL Serverの場合:

SELECT DATEADD(day, 58112, '18001228')

例によって。申し訳ありませんが、私は英語を話しません。システムの基準日は1800年12月28日です。

于 2012-08-11T03:10:45.940 に答える
3

私には特注のシステムのように聞こえますが、かなり奇妙なものです:)

常に機能する変換の1つの方法は、ある種のdate_add()関数を使用することです。使用する言語を指定しませんが、最近のほとんどの言語には、日付に多数の日を追加する方法が必要です。

うるう年に関しては、これら2つの日付が正しければ問題はありません。確かに、1960年と1969年の間に少なくとも1つのうるう年がありました:)念のため、最近の日付をいくつか確認する価値があります。

于 2010-04-09T11:52:43.000 に答える
2

それほど奇妙ではありません。たとえば、Javacardの日付は、1986-02-04以降の同様のスキームによって計算されます。http://forums.sun.com/thread.jspa?threadID = 5421557&messageID = 10894720#10894720

于 2010-04-09T11:58:23.187 に答える
2

はい、クラリオンデータファイルです。Edit1.Textを使用します:= datetostr(encodedate(1800,12,28));

于 2016-10-24T15:30:06.993 に答える