php - 使用 PHP DateTime 设置年份
问题描述
使用 PHP DateTime,您可以使用 和 等方法->modify()
->add()
来->sub()
操作当前的 DateTime 对象。
还有一些方法允许更新年、月和日,或时、分和秒->setDate()
。->setTime()
然而,似乎没有任何方法可以单独设置年、月或日。
我是否认为最好的方法是创建一个新的 DateTime 对象并使用以前的对象来填充该setDate()
方法?
像这样的东西:
$DateTime2020 = new \DateTime('2020-02-26');
$DateTime2019 = (new \DateTime())->setDate('2019', $DateTime2020->format('m'), $DateTime2020->format('d'));
解决方案
您可以使用与方法中相同的符号->format()
,因此您不需要创建对象并在以后修改它。下面是一个例子:
new \DateTime("$year-01-01")
对于动态年份
new \DateTime("this year $month/01")
对于动态月份
基本上 DateTime 对象要求所有段都有效,并且在创建新对象期间 php 尝试使用构造函数的参数来猜测段(默认为 2020-01-01 00:00:00),但是当您设置 DateTime(2019) php 识别它是小时:分钟(20:19),所以你必须更具体,这就是为什么我添加了 01-01 ,它指的是月份和日期。
推荐阅读
- amazon-web-services - 无法从服务器获得任何响应
- python - 当我点击 Heroku Postgres 时出现此错误消息 {"error":{"id":"unauthorized","message":"Invalid credentials provided."}}
- javascript - angularjs - 组合来自 for 循环 api 调用的数据
- javascript - React 应用程序和用户角色
- visual-studio-code - Microsoft Visual Studio Code 无法启动
- angular - How to make ng build watching multiple apps?
- python - how to update column in a oracle table and commit after each record update by using python and cx_Oracle
- angular - PrimeNG 控件未触发的反应式表单
- c# - 无法从自定义 COM 库创建对象
- json - Flutter doesn't want to import json