<?php
$date = new \DateTime('2021-11-10 00:00:00.000001', new \DateTimeZone('Europe/Rome')); // Oggetto
$date2 = new \DateTime('2021-11-10 00:00:00.000006', new \DateTimeZone('Europe/Rome')); // Oggetto
$result = null;
//Uguale allo stesso secondo
if($date->format('U') === $date2->format('U'))
$result = ('0.' . ($date2)->format('u')) - ('0.' . ($date)->format('u'));
else
$hi = '';
//Altro codice php
//Attenzione php non può usare i numeri in virgola fissa ma in virgola mobile e spesso perde precisione e anche la visualizzazione (impostazione ini precision) può modificare distorcendo il valore effettivamente memorizzato
var_dump($result, $date2->modify(substr(str_replace('.', '0', sprintf('%00.6F', $result)) . '0', 0, 8) . ' usec'));
echo substr(str_replace('.', '0', sprintf('%00.6F', $result)) . '0', 0, 8);
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
float(5.0E-6)
object(DateTime)#2 (3) {
["date"]=>
string(26) "2021-11-10 00:00:00.000011"
["timezone_type"]=>
int(3)
["timezone"]=>
string(11) "Europe/Rome"
}
00000005
Output for 7.0.0 - 7.0.33
Warning: DateTime::modify(): Failed to parse time string (00000005 usec) at position 9 (u): The timezone could not be found in the database in /in/lTgT5 on line 15
float(5.0E-6)
bool(false)
00000005
Parse error: syntax error, unexpected '->' (T_OBJECT_OPERATOR) in /in/lTgT5 on line 8
Process exited with code 255.
Output for 5.3.0 - 5.3.29
Parse error: syntax error, unexpected T_OBJECT_OPERATOR in /in/lTgT5 on line 8
Process exited with code 255.
Output for 5.2.3 - 5.2.17
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/lTgT5 on line 3
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/lTgT5 on line 3
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/lTgT5 on line 4
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/lTgT5 on line 4
Parse error: syntax error, unexpected T_OBJECT_OPERATOR in /in/lTgT5 on line 8
Process exited with code 255.
<br />
<b>Warning</b>: Unexpected character in input: '\' (ASCII=92) state=1 in <b>/in/lTgT5</b> on line <b>3</b><br />
<br />
<b>Warning</b>: Unexpected character in input: '\' (ASCII=92) state=1 in <b>/in/lTgT5</b> on line <b>3</b><br />
<br />
<b>Warning</b>: Unexpected character in input: '\' (ASCII=92) state=1 in <b>/in/lTgT5</b> on line <b>4</b><br />
<br />
<b>Warning</b>: Unexpected character in input: '\' (ASCII=92) state=1 in <b>/in/lTgT5</b> on line <b>4</b><br />
<br />
<b>Parse error</b>: syntax error, unexpected T_OBJECT_OPERATOR in <b>/in/lTgT5</b> on line <b>8</b><br />
Process exited with code 255.
<br />
<b>Warning</b>: Unexpected character in input: '\' (ASCII=92) state=1 in <b>/in/lTgT5</b> on line <b>3</b><br />
<br />
<b>Warning</b>: Unexpected character in input: '\' (ASCII=92) state=1 in <b>/in/lTgT5</b> on line <b>3</b><br />
<br />
<b>Warning</b>: Unexpected character in input: '\' (ASCII=92) state=1 in <b>/in/lTgT5</b> on line <b>4</b><br />
<br />
<b>Warning</b>: Unexpected character in input: '\' (ASCII=92) state=1 in <b>/in/lTgT5</b> on line <b>4</b><br />
<br />
<b>Parse error</b>: parse error, unexpected T_OBJECT_OPERATOR in <b>/in/lTgT5</b> on line <b>8</b><br />
Process exited with code 255.
Output for 4.3.2 - 4.3.4
<br />
<b>Warning</b>: Unexpected character in input: '\' (ASCII=92) state=1 in <b>/in/lTgT5</b> on line <b>3</b><br />
<br />
<b>Warning</b>: Unexpected character in input: '\' (ASCII=92) state=1 in <b>/in/lTgT5</b> on line <b>3</b><br />
<br />
<b>Warning</b>: Unexpected character in input: '\' (ASCII=92) state=1 in <b>/in/lTgT5</b> on line <b>4</b><br />
<br />
<b>Warning</b>: Unexpected character in input: '\' (ASCII=92) state=1 in <b>/in/lTgT5</b> on line <b>4</b><br />
<br />
<b>Parse error</b>: parse error in <b>/in/lTgT5</b> on line <b>8</b><br />
Process exited with code 255.