【发布时间】:2011-01-11 17:44:23
【问题描述】:
在我的 PHP 应用程序中,当我使用 PHP 的 date() 命令格式化它们时,我从 MySQL 数据库中获取日期。我想整理一下并将其完全移动到视图中,而不是检索。但是我遇到了一些问题。
当从数据库中获取日期时,我在运行strtotime() 后将其传递给应用程序的其余部分,以便date() 函数可以使用它们。这是一个好主意吗?还是我错过了更好更明显的东西?我处理的日期几乎都是DATE 类型,而不是DATETIME。
所以,我得到了日期,并且可以使用date() 在网页上显示它。但有时,我会从数据库中获取一些内容,仅将其插入到数据库的其他位置,并且不得不在后端寻找需要date() 的地方,这违背了将其分离到视图中的目的。我的检索函数有用地返回strtotime($date_from_db),然后我在另一个表中创建新条目......并且所有新条目都必须通过验证和准备函数。这就是问题所在。我通过查看strtotime() 是否为 0000-00-00 以外的其他内容来验证和准备日期。但是我不能在时间戳上运行strtotime();在我跑的测试中,如果给了我 1969 年 12 月 31 日。所以我的问题:
- 是否有可能以某种方式在时间戳上运行
strtotime()? - 如果不是,是否有一种简单的方法可以知道变量是否为时间戳?所以我可以简单地在它上面运行
date(),而不是处理strtotime()?除了看看它是否出现在 1969 年 12 月 31 日,因为我不知道我是否可以相信失败是一致的。除非那是一件有效的事情吗? - 我这样做完全错了吗?
【问题讨论】: