Php datetime diff çağırırken tarihinden itibaren ikinci defa nesneleri-çıkarılarak () ile garip davranış

0 Cevap php

Ben bir datetime nesnesi 1 gün çıkarma zaman, bir gün çıkarır gerekiyordu gibi, öyle. ama ben 2 datetime karşılaştırmak için fark () kullanırsanız daha sonra tekrar gün çıkarır nesneleri. Aşağıdaki kod örneği görebilirsiniz:

$currTime = new DateTime();
$lastPurge = new DateTime("14:33");
$lastPurge->sub(new DateInterval("P1D"));

echo $lastPurge->format("d/m/Y H:i:s\n\n");

$diff = $currTime->diff($lastPurge);

echo $lastPurge->format("d/m/Y H:i:s\n\n");

Bu kod çıktısı:

10/11/2010 14:33:00

09.11.2010 14:33:00

Gördüğünüz gibi, beklendiği gibi alt () çağrıldıktan sonra bu, 1 gün çıkarılır oldu. Ama sonra diff kullandıktan sonra () başka bir gün çıkarır. Neden başka bir gün () farkı hesaplamak için diff kullandıktan sonra çıkartılır? Bunu yapmak gerekiyordu?

0 Cevap