2009-09-28 61 views
0

我有一個可編輯=「true」的flex日期域。 當我輸入:20-1-69然後我轉到另一個字段時,它變成20-01-2069。但我不希望它變成2069.是否有可能關閉這種自動改變的東西?Datefield更改爲2069或1970

感謝, JSMB

+1

歡迎來到21世紀! – pavium 2009-09-28 20:02:01

+3

使用四位數年份? – 2009-09-28 20:02:37

回答

2

在過去,當昂貴的地方,聰明的程序員用兩個數字來存儲日期字節。所以60年代被解讀爲1960年,一切都很好。

直到可怕的2000年即將到來,人們開始恐慌,因爲電腦肯定會停止工作,我們都會死亡,或者至少從互聯網上被切斷,這可能更糟糕。

如此聰明的程序員被稱爲解決問題。

真正的智能程序員將數字的位數擴展到4個。但自稱聰明的程序員使用滑動窗口。 70至99其中解釋爲1970-1999和0至69被解釋爲2000年至2069年。這當然解決了Y2K問題。但正如你發現的那樣,我們有2070年的問題。

有趣的是,使用這種方案,像我這樣的老人出生在未來。這讓我們再次感到年輕。所以他們可能是故意這樣做的。

0

您需要確定兩位數的日期在1900到2000之間切斷的位置,然後在輸入上執行一些魔術。

例子:截止是1940年

(僞)

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

這將給你從1941年到2040年

+0

謝謝,但沒有一種方法可以改變Flex中變化的東西嗎? – jsmb 2009-09-28 20:15:40

+0

還沒有找到。 Flex手冊似乎沒有提到這個問題。他們也沒有提及他們的截止是什麼。 – 2009-09-28 20:18:08

+0

無論如何,沒有中斷,你只能表示從1900年到1999年,或從2000年到2099年的日期。因此,完全關閉它是沒有多大意義的。 – 2009-09-28 20:25:50

0

使用DateValidator強制執行4位數的年份?如果你打算輸入舊日期,那麼無論你有什麼SDK,這都是一個要求。即使你想出了一些方法來完成這項工作,一些用戶也會出現並感到困惑。