Use a bit more standard null date in lcl_normalizeDateTime

This value is only used for dates comparison inside ODateTimeType;
_getValue is used in OValueLimitedType_Base::_validate to comnpare
to minimal and maximal cached values, and the latter are set using
normalizeValue. The choice of null date is ~random, and in theory,
we could just normalize using Date::GetAsNormalizedDays(), but the
null date close enough to the actual dates has an upside of keepng
enough precision for time part - so just use the most used epoch,
which gives an optimized GetAsNormalizedDays, and hence, a faster
operator-.

Change-Id: I35723373107b2786633c7ddb3cfb82a7dcc4deaa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190827
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
This commit is contained in:
Mike Kaganski
2025-09-12 05:09:23 +02:00
parent b33cc5a738
commit 89b0b449d8
+2 -2
View File
@@ -980,8 +980,8 @@ namespace xforms
::DateTime aToolsValue(_rValue);
double fValue = 0;
// days since 1.1.1900 (which is relatively arbitrary but fixed date)
fValue += ::Date( aToolsValue ) - ::Date( 1, 1, 1900 );
// days since 1899-12-30 (which is relatively arbitrary but fixed date)
fValue += ::Date( aToolsValue ) - ::Date( 30, 12, 1899 );
// time
fValue += aToolsValue.GetTimeInDays();
return fValue;