[TYPO3-german] BE List module akzeptiert kein Datum von z.B. 1-1-1800

bernd wilke t3ng at bernd-wilke.net
Wed Mar 26 09:00:19 CET 2014


Am 25.03.14 18:57, schrieb Laurie:
> Hallo Alle,
> ich habe eine Extension im Extension Builder angelegt.
> Wenn ich in die Datumsfelder mit Datepicker im list modul ein Datum in
> der Vergangenheit eingebe wird das Datum auf 1-1-2014 zurückgesetzt.
>
> TCA:
>          'date_birth' => array(
>              'exclude' => 0,
>              'label' => 'Date of Birth',
>              'config' => array(
>                  'type' => 'input',
>                  'size' => 7,
>                  'eval' => 'date',
>                  'checkbox' => 1,
>                  'default' => time()
>              ),
>          ),
>
>
> Typo3 6.1.7

ein Datum wird in TYPO3 normalerweise als unixtime = sekunden seit 
1.1.1970 0:00 angelegt.
Vorteile:
+ damit läßt sich einfach ein größer kleiner Vergleich durchführen
+ man kann mal eben delta-Zeiten (+1 Std, -3 Tage, ...) berechnen
Nachteil:
- je nach Rechner, Programmiersprache und zugrundeliegendem 
Integer-Format ein eingeschränkter Zeitbereich.
- zur Darstellung muss immer konvertiert werden

bei 32 Bit vorzeichenbehaftet reicht  es für Daten (Datum plural) von
13. Dezember 1901 20:45:52 bis 19. Januar 2038 um 3:14:08 Uhr

was darüber hinaus geht muss entweder mit größeren Zahlen (da spielen 
default nicht alle Routinen mit) oder mit anderen Formaten abgespeichert 
werden.

mySQL kennt ein echtes Date-format, in dem tag, monat,jahr als 
individuelle Zahlen gespeichert werden, so dass ein viel größerer 
Datumsbereich abgedeckt ist. Dafür gibt es in TYPO3 aber kein fertiges 
Format. Entweder du arbeitest mit drei String Feldern oder (bei Nutzung 
von Extbase) benutzt eigene Getter, Setter und Eingabevalidierungen. bei 
letzterem können dir neuere Browser und HTML5 helfen.

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


More information about the TYPO3-german mailing list