我有一个PHP网站,以人格形式从用户那里获取日期(例如2012-10-18或其他一些),并将它们存储在数据库中。在数据库中,它们存储为unix时间戳。我可以使用PHP函数进行转换,只需存储/检索时间戳,或者我可以使用SQL /数据库函数在查询中进行转换,并存储/检索格式化的日期。
是否有理由更喜欢一种方法而不是另一种方法?其中一个更“正确”(关注点分离等)?
答案 0 :(得分:0)
在数据库中使用日期。数据库能够用偶数计算,因此没有理由在PHP脚本中进行这种类型的处理。也许如果你不想这样做,一个有效的论点可能是因为你的查询由于其中的逻辑而变得有点复杂。
答案 1 :(得分:0)
恕我直言,这两种方法在性能方面没有区别,但使用PHP转换/格式化sql-dates可以提供更清晰的代码和本地化能力。
答案 2 :(得分:0)
我发现尝试处理用户时区在SQL中很复杂(至少在SQLite中,不确定其他数据库是否在其日期函数中有更好的时区支持),因此PHP似乎是处理此问题的更好地方。