首页 > 解决方案 > 结束日期大于php中的开始日期

问题描述

我有一个php代码,如下所示:

$startDate = DateTime::createFromFormat ( 'D His', $data->{"select_start_day"} . ' '. $data->{"start_time"});   // Line A
$endDate = DateTime::createFromFormat ( 'D His', $data->{"select_end_day"} . ' '. $data->{"end_time"});         // Line B

print_r($startDate); echo "<br>"; // Line C
print_r($endDate); // Line D

C 行和 D 行打印:

DateTime Object ( [date] => 2019-10-05 14:34:00.000000 [timezone_type] => 3 [timezone] => America/Toronto ) 
DateTime Object ( [date] => 2019-10-02 14:00:00.000000 [timezone_type] => 3 [timezone] => America/Toronto )

在 A 行和 B 行$data->{"select_start_day"}$data->{"select_end_day"}$data->{"start_time"}和内的值$data->{"end_time"}由用户输入。

例如,假设用户输入:

1. $data->{"select_start_day"} = 星期六 (sat)
2. $data->{"select_end_day"} = 星期三 (wed)
3. $data->{"start_time"} = 143400
4. $data->{"end_time"} = 140000

问题陈述:
我想知道我应该在上面的 php 代码中进行哪些更改,以便$startDate始终小于$endDate.

在上面的 o/p$startDate中大于$endDate

$endDate,wednesday应该在之后saturday所以它应该是2019-10-09而不是2019-10-02

标签: phpdatedatetime

解决方案


推荐阅读