为了账号安全,请及时绑定邮箱和手机立即绑定

PHP datediff 超时问题

PHP datediff 超时问题

PHP
回首忆惘然 2021-11-26 16:23:25
我希望在两次之间获得 datediff:第一次是在晚上(比如 23:59:59),第二次是在新的一天(比如 02:02:02)。使用 datediff 时,它没有显示正确的差异:echo date_diff(date_create("02:02:02"), date_create("23:59:59"))->format('%H:%I:%S');response: 21:57:57 (IS WRONG SOMEHOW)echo date_diff(date_create("02:02:02"), date_create("00:00:00"))->format('%H:%I:%S');response: 02:02:02 (ECHOS CORRECT TIME)我怎么能让它工作?
查看完整描述

1 回答

?
守着星空守着你

TA贡献1799条经验 获得超8个赞

如果日期改变了,那么你必须告诉它,否则它会假设今天。你可以这样检查:


echo date_diff(date_create("tomorrow 02:02:02"), date_create("23:59:59"))->format('%H:%I:%S');

// 02:02:03

您可以通过转储来验证 date_create 正在创建的内容:


var_dump(date_create("02:02:02"));

// object(DateTime)(

//   'date' => '2019-08-16 02:02:02.000000',

//   'timezone_type' => 3,

//   'timezone' => 'America/New_York'

// )


var_dump(date_create("tomorrow 02:02:02"));

// object(DateTime)(

//   'date' => '2019-08-17 02:02:02.000000',

//   'timezone_type' => 3,

//   'timezone' => 'America/New_York'

// )


var_dump(date_create("00:00:00")); // 00:00 being start of day, not end

// object(DateTime)(

//   'date' => '2019-08-16 00:00:00.000000',

//   'timezone_type' => 3,

//   'timezone' => 'America/New_York'

// )


查看完整回答
反对 回复 2021-11-26
  • 1 回答
  • 0 关注
  • 144 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信