【问题标题】:Decrease 5 days from a date [duplicate]从日期减少5天[重复]
【发布时间】:2011-03-25 17:14:21
【问题描述】:

可能重复:
Subtracting a certain number of hours, days, months or years from date

你好,我怎样才能从这样的日期减少 5 天:

日期(“d.m.y”);

-谢谢

【问题讨论】:

标签: php datetime date


【解决方案1】:

date('d.m.y', strtotime('-5 days'));

【讨论】:

  • 非常感谢.. 如果我有一个包含一些日期的表格并且我想删除例如所有日期
  • 那么您将不得不使用数据库 DELETE 语句来完成。
  • 如果您尝试进行日期数学/比较,我建议您使用时间戳。
  • 我绝对推荐不使用时间戳。他们不考虑 DST,不考虑时区,不考虑闰秒等。在数据库和 PHP 中使用正确的 DateTime 格式。这是一个已解决的问题,不要因为你认为算术更容易而去尝试改变事情......
【解决方案2】:
date("d.m.y",mktime(0,0,0,date("m"),date("d")-5,date("Y")))

【讨论】:

  • 不考虑夏令时,是吗?
【解决方案3】:

尽可能避免使用strtotime,它很慢

date('d.m.y',time() - 432000); // 60 * 60 * 24 * 5

【讨论】:

  • 你能保证在夏令时变化时不会出现意外结果吗?
  • 非常感谢!!.. 我明白了.. 并且对于“如果我有一个包含一些日期的表格并且我想删除例如所有日期
  • 从 s_stats 哪里删除日期?
  • 我同意你应该避免strtotime,但绝对不是因为它“慢”(它不是)。你应该避免它,因为你应该使用DateTime API...说它不应该使用,因为它很慢是正确的误导和微优化...
  • 如果您在数据库中进行日期类型比较,那么不要在 PHP 中进行日期数学运算。大多数数据库已经完全有能力在内部做到这一点
猜你喜欢
  • 2015-11-26
  • 2015-03-27
  • 2021-11-02
  • 2013-10-31
  • 1970-01-01
  • 1970-01-01
  • 2016-08-03
  • 2019-05-29
  • 1970-01-01
相关资源
最近更新 更多