2011-10-14 62 views
8

我是一名PHP開發人員,我正在開發一個項目,其中需要在數據庫中存儲阿拉伯語日期。有沒有辦法用Postgres存儲阿拉伯語日期?

但是,我創建了應用程序並在其中嵌入了JavaScript阿拉伯語日曆。

現在,當我選擇一個日期,如12/02/1442,然後按保存按鈕,它給了我下面的錯誤:

Year Out Of Range 
+1

請提供更多信息 - 代碼,數據庫模式,SQL語句等。 –

回答

6

這些日期(阿拉伯語,賈拉利,...)通常與SQL的問題服務器。在我的經驗中,有3種方式處理:

  1. 使用字符類型存儲日期與任何自定義格式的字段。 (問題是:操縱,算術,排序,...它們是難以實現)

  2. 使用整數固定字符類型存儲日期,就像144201011/1/1442。 (同第一個,但排序是解決)

  3. 使用日期時間戳類型的存儲,你應該將其存儲到數據庫之前轉換日期以標準日期格式,當你閱讀他們將它們轉換回來。此方法需要外部編程語言來處理(通常有外部語言)。或者你可以在你的數據庫中編寫一個內部函數。

只是存儲日期,然後方法1和2就足夠了。否則,我建議第三種方法,因爲您可以使用datetime預定義的函數,它存在於數據庫服務器或編程語言中。

例如,您可以在PHP中輕鬆使用date_diff(),或者在日期中使用postgres內部函數。

+0

關於2):如果整數編碼爲14420212,則排序會容易得多。 –

1

我認爲這將是一個完美的應用程序來編寫自定義數據類型。也許有人已經做到了,或者你可以開始。