DateInterval中的days和"d"属性之间有什么区别

jso*_*021 8 php datetime

当我使用DateInterval类时,它返回一个属性名称"d",然后另一个属性名称"Days"我真的很困惑两者之间的区别.有人可以解释一下.

下面是我的代码中返回的对象的示例.

DateInterval(
y =
0
m =
1
d =
1
h =
3
i =
16
s =
6
weekday =
0
weekday_behavior =
0
first_last_day_of =
0
invert =
1
days =
31
special_type =
0
special_amount =
0
have_weekday_relative =
0
have_special_relative =
0
Run Code Online (Sandbox Code Playgroud)

Eri*_*ric 12

锻炼难吗?

  • d- 添加月份后需要添加的月初的天数- (Feb 23 - Jan 1).d == 22)
  • days- 总天数 - (Feb 23 - Jan 1).days == 31 + 22)

或者你可以阅读文档,这是谷歌"php DateInterval"的第一个结果,这是毫无疑问的:

d

天数.

如果DateInterval对象是由DateTime :: diff()创建的,那么这是开始日期和结束日期之间的总天数.否则,天数将是假的.

在PHP 5.4.20/5.5.4而不是FALSE之前,您将在访问该属性时收到-99999.

  • 谢谢你的回复.我确实阅读了文档,但我不知道d将是从月初开始的天数,这让我感到困惑.谢谢 (3认同)
  • @json2022:实际上,这不是很正确的意思,但它永远不会大于 31 (2认同)