I have a website which shows the delivery date when you search product
P.S as an example, I use today's order which was created 30.08.2021 14:12
Delivery date on the search result page show this code:
if(time_to_exe == 7)
{
var orderDateTime = moment();
// Get Monday (first day) of this week and add 3 days (to get to Thursday) and set the time to 11:59am
var cutOffDate = moment().startOf('week').add(3,'days').set({'hour': 11, 'minute': 59, 'second': 59});
// Initialize delivery date from order date
var deliveryDate = orderDateTime.clone();
if (orderDateTime.isSameOrBefore(cutOffDate)) {
deliveryDate = deliveryDate.add(1,'week').startOf('week'); // Monday next week
} else {
deliveryDate = deliveryDate.add(2,'week').startOf('week'); // Monday the week after next
}
if (deliveryDate) {
time_to_exe = deliveryDate.format("D. MMMM");
} else {
time_to_exe = time_to_exe + "d";
}
}
As the order was created in the time between Monday 30.08.2021 00:00
and Thursday 02.09.2021 11:59:59
the delivery date is 06.09.2021
which is correct
Then I have an Order page where clients can see all created orders and there is a delivery date as well. And there, the delivery date shows this code:
$item_time
is defined as an order created date (in this case 30.08.2021 14:12
)
if($item_t2_time_to_exe == 7)
{
$paymentDate = strftime("%d/%m/%y %H:%M:%S",$item_time);
//echo $paymentDate; // echos today!
$contractDateBegin = strftime("%d/%m/%y %H:%M:%S",strtotime('monday this week', $item_time));
$contractDateEnd = strftime("%d/%m/%y 11:59:59", strtotime('thursday this week', $item_time));
if (($paymentDate >= $contractDateBegin) && ($paymentDate <= $contractDateEnd)){
$nextMonday = strftime("%e.%B", strtotime('next monday',$item_time));
}else{
$nextMonday = strftime("%e.%B", strtotime('second monday',$item_time));
}
if($nextMonday)
{
$delivery = $nextMonday;
}
else
{
$delivery = "error";
}
}
And there it should be the same delivery date 06.09.2021
as it is on the search result page, but for now, the code executes else
and return me 'second monday'
and show 13.09.2021
as a delivery date. I can't understand why it is so, any suggestions?
Comments
Post a Comment