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:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user