Hallo Bernd.,

nachdem ich auf meinen Texten nicht weiter als vielleicht 1790 gehen muss, habe 
ich mit bigint(11) ausreichend Spielraum.

Damit aber Deine Frage geklärt ist, habe ich auf bigint(22) erweitert und 
durchgespielt:

Wenn ich den 1.März 1900 00:00:00 in Sekunden (-2203894800) eingebe, erscheint 
das richtige Datum. Zähle ich eine Skunde runter, kommt richtigerweise der 
28.2.1900 23:59:59 (-2203894801). Das gleiche gilt für 1. März 1600 
(-11670915600): Da das Jahr ein Schaltjahr ist, wird auch der 29. Februar 1600 
23.59.59 angezeigt (-11670915601).

Das bedeutet, dass einzig das JavaScript nicht mit dem Datum umgehen kann. Aber auch da denke ich, ist das Problem nicht der Umgang mit der negativen Zahl. Hier wird eher eine Abrage laufen, die besagt, dass wenn ein Datum älter als 1. Januar 1902 kommt, (durch Zugriff auf den beschränkten Systemdatumsumfang), er das nicht annehmen soll/kann und einfach auf das aktuelle Jahr umschaltet.
Wenn ich da was finde, melde ich mich zurück.

Vielen Dank für die konstruktiven Gespräche.

Gruß
Uwe


Quote: Bernd Wilke[2] wrote on Tue, 14 October 2014 09:17
----------------------------------------------------
Am 13.10.14 18:12, schrieb Uwe Siedentop:
> Hallo Bernd,
>
> das tt_news langsam nicht mehr gepflegt wird, habe ich schon
> mitbekommen. Aber ich habe schon so viele Seiten damit gemacht ... naja.
>
> Ich denke, es geht viel einfacher: In tt_news wurde das Feld datetime
> als int(11) angelegt. Ich habe das Feld einfach von int(11) auf
> bigint(11) erweitert. Jetzt kann ich die negativen Zahlen manuell
> abspeichern, wie ich es brauche. Es wird auch das Korrekte Datum im
> Frontend angezeigt.

bigint(11)? bigint(20) wäre besser, da die Zahlen doch etwas größer sein könnten, aber die Anzeige erfolgt eigentlich niemals als integer-Zahl.

Und was ich auf jeden fall auch noch einmal überprüfen würde:
werden alle Daten korrekt gehandhabt?
wissen die Routinen von Jahrhundert-(un)Schaltjahren?
ist 28.2.1900 10:00:00 + 1 Tag =  1.3.1900 10:00:00 ?
ist 28.2.1600 10:00:00 + 1 Tag = 29.2.1600 10:00:00 ?
und was ist mit 1582?
4.10.1582 10:00:00 + 1 Tag = 15.10.1582 10:00:00 !

Datumsangaben (allein im Gregorianischen Kalender) können ein ziemliches Durcheinander sein. Und wenn dann unterschiedliche kalendersysteme zusammen kommen (oder auch Zeitzonen) ist das Chos perfekt.

> Allerdings macht jetzt der datepicker Probleme: Sobald die Zahl kleiner
> 1.1.1902 ist, schreibt er z. B. 31.12.2014 rein, ersetzt also das Jahr.
> ;-)).
>
> Weißt Du, wo man den datepicker finden kann? Ich würde ihn gerne
> abschalten oder, was besser wäre, erweiteren. Zum Abschalten oder wo der
> integriert ist habe ich im Netz leider nichts gefunden.

tja. und damit verläßt du sicheres Terrain. der Datepicker ist Javascript und Javascript kennt keine longint/bigint/...

und deaktivieren hat Phillip ja schon beantwortet.

bernd
--
http://www.pi-phi.de/cheatsheet.html
----------------------------------------------------


_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an