php - 如何使用 DateTime::modify 定位当月的特定日期?

标签 php datetime

我需要能够将 DateTime 对象设置为当月的某一天。我显然可以通过获取当前月份并创建新的 DateTime 或检查当前日期并创建 DateInterval 对象来修改 DateTime 来实现此目的,但我只想向 DateTime::modify 提供纯文本参数。

我正在寻找类似的东西:

$datetime->modify('10th day this month');

但这给了我一个错误

PHP Warning: DateTime::modify(): Failed to parse time string (10th day this month) at position 0 (1): Unexpected character in php shell code on line 1

而且我似乎无法找到使 PHP 正常运行的句子的正确构造。

最佳答案

无法直接获取给定月份的第 X 天,但您可以通过一个简单的解决方法实现:

$datetime->modify('last day of previous month')->modify('+10 day');

另一种选择是:

$datetime->format('Y-m-10');

关于php - 如何使用 DateTime::modify 定位当月的特定日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20149076/

相关文章:

多年前的 javascript 时间戳并考虑闰年

r - 无法处理 POSIXct 时区并截断 POSIXct 对象的时间

java - Java 8 的 java.time API 中的模拟时间

asp.net - 为什么根据检索顺序从 ADO Recordset 中获取空值而不是正确值? (DB表有NTEXT值)

php - 在 php 中实例化对象时的性能

php - 以 HTML 形式插入数据库

php - 结果 "10.00"未显示在 Mysql 查询中 TOP 结果从 1 到 10

具有大量数据的 PHP DateTime 错误

php - SQL中如何获取日期最早、点赞数最多的评论ID?

php - 如果检查选择查询的语句被忽略