DateTime shows different results in rule

No success. The rule never returns TRUE

Current rule

/* mindergas.rules */

import org.joda.time.DateTime

/* 
 * De slimme meter geeft 1x per uur een nieuwe stand van de gasmeter door. 
 * Een paar minuten na het hele uur ontvang je de stand per het hele uur.
 * Publiceer deze stand naar mindergas als de stand eind vorige dag.
 */
rule GasMeterChanged
when
	// Time cron "*/10 * * * * ?" or
	Item P1_Gas_Timestamp changed
then
	logInfo("GasMeterChanged", "Gas meter reading changed")

	var DateTime dtRun = parse(P1_Gas_Timestamp.state.toString)
	var DateTime dtSOD = now.toLocalDate.toDateTimeAtStartOfDay

	logInfo("GasMeterChanged", "Timestamp   : " + dtRun)
	logInfo("GasMeterChanged", "Start of day: " + dtSOD)

	if (dtRun.equals(dtSOD)) {
		logInfo("GasMeterChanged", "Gas meter reading changed at midnight.")
		callScript("mindergas")
	} else {
		logInfo("GasMeterChanged", "Gas meter reading changed during the day.")
	}
end

Logging:

2017-01-24 23:05:32.165 [INFO ] [arthome.model.script.GasMeterChanged] - Gas meter reading changed
2017-01-24 23:05:32.184 [INFO ] [arthome.model.script.GasMeterChanged] - Timestamp   : 2017-01-24T23:00:00.000+01:00
2017-01-24 23:05:32.192 [INFO ] [arthome.model.script.GasMeterChanged] - Start of day: 2017-01-24T00:00:00.000+01:00
2017-01-24 23:05:32.200 [INFO ] [arthome.model.script.GasMeterChanged] - Gas meter reading changed during the day.
...
2017-01-25 00:05:28.544 [INFO ] [arthome.model.script.GasMeterChanged] - Gas meter reading changed
2017-01-25 00:05:28.563 [INFO ] [arthome.model.script.GasMeterChanged] - Timestamp   : 2017-01-25T00:00:00.000+01:00
2017-01-25 00:05:28.571 [INFO ] [arthome.model.script.GasMeterChanged] - Start of day: 2017-01-25T00:00:00.000+01:00
2017-01-25 00:05:28.580 [INFO ] [arthome.model.script.GasMeterChanged] - Gas meter reading changed during the day.
...
2017-01-25 01:05:26.830 [INFO ] [arthome.model.script.GasMeterChanged] - Gas meter reading changed
2017-01-25 01:05:26.847 [INFO ] [arthome.model.script.GasMeterChanged] - Timestamp   : 2017-01-25T01:00:00.000+01:00
2017-01-25 01:05:26.856 [INFO ] [arthome.model.script.GasMeterChanged] - Start of day: 2017-01-25T00:00:00.000+01:00
2017-01-25 01:05:26.862 [INFO ] [arthome.model.script.GasMeterChanged] - Gas meter reading changed during the day.

Added these lines to the rule for further debugging:

	// Added additional equations from the Joda time documentation
	logInfo("GasMeterChanged", "==       : " + (dtRun == dtSOD))
	logInfo("GasMeterChanged", "equals   : " + dtRun.equals(dtSOD))
	logInfo("GasMeterChanged", "isEqual  : " + dtRun.isEqual(dtSOD))
	logInfo("GasMeterChanged", "compareTo: " + (dtRun.compareTo(dtSOD)==0))