有没有办法用Postgres存储阿拉伯语日期?

Sco*_*ion 8 javascript php postgresql

我是一名PHP开发人员,我正在开发一个项目,我需要在我的数据库中存储阿拉伯语日期.

但是,我已经创建了应用程序并在其中嵌入了JavaScript阿拉伯语日历.

现在当我选择日期时,例如12/02/1442,按下保存按钮,它会给我以下错误:

Year Out Of Range
Run Code Online (Sandbox Code Playgroud)

mas*_*oud 6

这些日期(阿拉伯语,Jalali,...)通常与SQL服务器有关.根据我的经验,有3种方法可以处理它:

  1. 使用字符类型将日期存储到具有任何自定义格式的字段中.(问题是:操作,算术,排序......他们很难实现)

  2. 使用整数固定字符类型存储日期,就像144201011/1/1442.(与第一个相同,但排序已解决)

  3. 使用日期时间戳类型进行存储,您应该将日期转换为标准日期格式,然后再将其存储到数据库中,当您阅读它们时,请将它们转换回来.此方法需要外部编程语言来处理(通常有外部语言).或者您可以在数据库中编写内部函数.

只需存储日期然后方法1和2就足够了.

否则,我建议第三种方法,因为你可以使用datetime存在于数据库服务器或编程语言预先定义的功能.

例如,您可以date_diff()在PHP中轻松使用,或者使用postgres内部函数作为日期.