我是一名PHP開發人員,我正在開發一個項目,其中需要在數據庫中存儲阿拉伯語日期。有沒有辦法用Postgres存儲阿拉伯語日期?
但是,我創建了應用程序並在其中嵌入了JavaScript阿拉伯語日曆。
現在,當我選擇一個日期,如12/02/1442
,然後按保存按鈕,它給了我下面的錯誤:
Year Out Of Range
我是一名PHP開發人員,我正在開發一個項目,其中需要在數據庫中存儲阿拉伯語日期。有沒有辦法用Postgres存儲阿拉伯語日期?
但是,我創建了應用程序並在其中嵌入了JavaScript阿拉伯語日曆。
現在,當我選擇一個日期,如12/02/1442
,然後按保存按鈕,它給了我下面的錯誤:
Year Out Of Range
這些日期(阿拉伯語,賈拉利,...)通常與SQL的問題服務器。在我的經驗中,有3種方式處理:
使用字符類型存儲日期與任何自定義格式的字段。 (問題是:操縱,算術,排序,...它們是難以實現)
使用整數或固定字符類型存儲日期,就像14420101
爲1/1/1442
。 (同第一個,但排序是解決)
使用日期或時間戳類型的存儲,你應該將其存儲到數據庫之前轉換日期以標準日期格式,當你閱讀他們將它們轉換回來。此方法需要外部編程語言來處理(通常有外部語言)。或者你可以在你的數據庫中編寫一個內部函數。
只是存儲日期,然後方法1和2就足夠了。否則,我建議第三種方法,因爲您可以使用date
和time
預定義的函數,它存在於數據庫服務器或編程語言中。
例如,您可以在PHP中輕鬆使用date_diff()
,或者在日期中使用postgres內部函數。
關於2):如果整數編碼爲14420212,則排序會容易得多。 –
PostgreSQL支持日期和時間戳的輸入和輸出爲Julian Day。手冊中的兩個相應章節:
,如果你想要做的計算在數據庫中可能會有所幫助。如果這不是問題,只需將日期存儲爲Masoud M.已建議。
我認爲這將是一個完美的應用程序來編寫自定義數據類型。也許有人已經做到了,或者你可以開始。
請提供更多信息 - 代碼,數據庫模式,SQL語句等。 –