2009-09-28 8 views
0

J'ai un champ date en flex avec editable = "true". Quand je tape: 20-1-69 et que je passe à un autre champ, il devient 20-01-2069. mais je ne veux pas qu'il change en 2069. Est-il possible d'éteindre cette chose automatiquement changer?Datefield change en 2069 ou 1970

Merci, JSMB

+1

Bienvenue dans le 21ème siècle! – pavium

+3

Utiliser des années à quatre chiffres? –

Répondre

2

Dans le passé, quand les octets où les programmeurs intelligents coûteux, utilisé deux chiffres pour stocker la date. Donc, un 60 a été interprété comme un 1960 et tout était bien. Les gens commençaient à paniquer, car les ordinateurs allaient certainement s'arrêter de fonctionner et nous allions tous mourir, ou du moins être coupés d'Internet, ce qui est peut-être pire.

Des programmeurs intelligents ont été appelés pour résoudre le problème.

Les vrais programmeurs intelligents ont augmenté le nombre de chiffres à 4. Mais les programmeurs qui se sont auto-proclamés intelligents, ont utilisé la fenêtre glissante. 70 à 99 où interprété comme 1970-1999 et 0 à 69 a été interprété comme 2000 à 2069. Cela a bien sûr résolu le problème de l'an 2000. Mais comme vous l'avez découvert, nous avons un problème 2070. La partie amusante est que, en utilisant ce schéma, les vieux gars comme moi sont nés dans le futur. Ce qui nous fait nous sentir jeunes à nouveau. Donc, ils l'ont probablement fait exprès.

0

Vous devez décider où vous voulez couper la date à deux chiffres entre 1900 et 2000, puis effectuer un peu de magie sur l'entrée.

Exemple: Cutoff est l'année 1940

(pseudocode)

If twoDigitYear > 40 
    fourDigitYear = "19" + twoDigitYear 
Else 
    fourDigitYear = "20" + twoDigitYear 

Cela vous donnera des années de 1941 à 2040.

+0

merci, mais n'est-il pas un moyen juste de tourner du thingie changeant en flex? – jsmb

+0

N'a pas trouvé un. Les manuels Flex ne semblent rien dire à ce sujet. Ils ne mentionnent pas non plus quelle est * leur * coupure. –

+0

Quoi qu'il en soit, sans coupure, vous ne pouviez représenter que des dates de 1900 à 1999, ou de 2000 à 2099. Il n'est donc pas très logique de tout simplement l'éteindre. –

0

Utilisez un DateValidator pour appliquer une année à 4 chiffres? Si vous allez entrer dans de vieilles dates, c'est à peu près une exigence, peu importe ce que vous avez SDK. Même si vous travaillez d'une façon ou d'une autre pour que cela fonctionne, certains utilisateurs viendront et seront confus.

Questions connexes