2016-05-31 5 views
0

Ich habe einige XML-Dateien, die als persönliche Dateien in einer astrologischen Anwendung verwendet wurden.Wie man XML-Daten in ein menschenlesbares Format entschlüsselt

Die Anwendung existiert nicht mehr, aber ich brauche noch die Daten. Das Öffnen des xml Ich habe folgende:

<BirthDate>2442260.7083333</BirthDate> 

oder

<BirthDate>2436617.0375000</BirthDate> 

in diesem Fall echtes Datum ist 1959.02.17. 12:54 (12:54 ist die Geburtszeit).

oder

<BirthDate>2446904.4652778</BirthDate> 

in diesem Fall echtes Datum ist 18.04.1987. 23:10 (23:10 ist die Geburtszeit).

Gibt es eine Möglichkeit, dies zu dekodieren und das Datum/Uhrzeit in einem lesbaren Format zu bekommen?

+0

Fragen Sie tatsächlich nach XML oder versuchen Sie herauszufinden, wie sich diese Zahl auf ein Datum bezieht? – Quentin

+0

Welches Datum entspricht dieser Nummer? Mit dieser Information konnten wir herausfinden, wie es kodiert ist. –

+0

@JimGarrison, pls sehe das Update meines Beitrags. – bonaca

Antwort

1

Die Kodierung Methode basiert tatsächlich auf Tage (der ganzzahlige Teil) und Bruchteile von Tagen (der Dezimalteil), aber die Epoche ist ungefähr 6611 Jahre in der Vergangenheit.

Die einfachste Möglichkeit, diese Daten zu dekodieren, ist die Verwendung von Excel mit einer Anpassung für die Epoche (Nullpunkt). Die Anpassung beträgt -2415019 Tage.

Wenn Sie also die Formel platzieren

=2436617.0375-2415019 

in einer Zelle und das Format als Datum/Uhrzeit Sie

2/17/59 00:54 

Für den anderen Wert bekommen die Formel

=2446904.4652778-2415019 

gibt die Datum

4/18/87 11:10 

so vermute ich, dass der Wert, den Sie von 23:10 gaben, ein Tippfehler ist.

Beachten Sie, dass die Berechnung des Epochendatums (in der Vergangenheit war der Nullpunkt) bedeutungslos ist, da zu dieser Zeit keine modernen Kalender verwendet wurden. Du könntest extrapolieren, aber du müsstest einen Kalender wählen (Julian vs Gregorian oder etwas anderes) und was immer du dir vorstellst (um 4595 v. Chr.) Wird für nichts nützlich sein.

Hier ist ein Screenshot einer Probe Excel-Arbeitsblatt

enter image description here

Die erste Spalte ist Ihre Werte, die zweite der Wert mit der Zeit-Offset, und die dritte ist die als Datum formatiert zweite Spalte eingestellt ist /Zeit.

Excel verwendet 12/31/1899 00:00 als seine Epoche; das heißt, der Wert Null wird in Excel als 1/0/1900 gerendert (was selbst seltsam ist) und der Wert 1 ergibt 1/1/1900. Wenn Sie die Konvertierung in Code durchführen möchten, können Sie mit diesem Wissen den Offset für die von Ihnen verwendete Programmierbibliothek anpassen.

+0

vielen dank für ihre bemühungen. Ich denke, das Problem wird auf diese Weise gelöst (mit Excel). – bonaca

-2

Dies ist eigentlich keine XML-Frage, sondern eine der Interpretation einer seltsamen (und wahrscheinlich undokumentierten) Datumsdarstellung. Der Bruchteil der Zahl ist 17/24, was bedeutet, dass es wahrscheinlich 5 PM an einem bestimmten Datum bedeutet. Wenn wir jedoch den Teil vor dem Dezimalpunkt als eine Tagesnummer interpretieren, würde dies auf einem Datum von 6687 Jahren in der Vergangenheit basieren. Das scheint nicht viel Sinn zu machen ...

+1

Dies sollte ein Kommentar sein, keine Antwort –

+0

Ich war mir nicht sicher - es beantwortet zumindest einen Teil der Frage (wie man diese Zahl entschlüsseln kann). –

+0

Sie sollten eine Klärung vom OP erwarten. Alles, was wir brauchen, ist ein entsprechendes Datum, um die wahrscheinliche Epoche und Kodierung zu berechnen. –

Verwandte Themen