我是一名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语句等。 –