diff options
author | Eike Rathke <er@openoffice.org> | 2002-09-24 13:16:50 +0000 |
---|---|---|
committer | Eike Rathke <er@openoffice.org> | 2002-09-24 13:16:50 +0000 |
commit | 7e3fb6546cdeb19d63dc35b5368e133732cb322b (patch) | |
tree | 161e1393481863ab592fd9d68cf44ffcea98856c | |
parent | 9081dab9fe9c3ca583ca6fbf3a6f946a154f417c (diff) |
#102692# use [gs]etLocalDateTime()
-rw-r--r-- | svtools/source/numbers/zforfind.cxx | 53 | ||||
-rw-r--r-- | svtools/source/numbers/zformat.cxx | 10 |
2 files changed, 44 insertions, 19 deletions
diff --git a/svtools/source/numbers/zforfind.cxx b/svtools/source/numbers/zforfind.cxx index 75c911a5fd97..9e7852af05e2 100644 --- a/svtools/source/numbers/zforfind.cxx +++ b/svtools/source/numbers/zforfind.cxx @@ -2,9 +2,9 @@ * * $RCSfile: zforfind.cxx,v $ * - * $Revision: 1.26 $ + * $Revision: 1.27 $ * - * last change: $Author: er $ $Date: 2002-09-09 12:56:10 $ + * last change: $Author: er $ $Date: 2002-09-24 14:16:50 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -106,7 +106,7 @@ #ifdef PRODUCT #define NF_TEST_CALENDAR 0 #else -#define NF_TEST_CALENDAR 0 +#define NF_TEST_CALENDAR 1 #endif #if NF_TEST_CALENDAR #include <comphelper/processfactory.hxx> @@ -1297,7 +1297,7 @@ input for the following reasons: if ( res && pCal->isValid() ) { double fDiff = DateTime(*pNullDate) - pCal->getEpochStart(); - fDays = floor( pCal->getDateTime() ); + fDays = floor( pCal->getLocalDateTime() ); fDays -= fDiff; nTryOrder = nFormatOrder; // break for } @@ -1323,7 +1323,9 @@ input for the following reasons: }; lang::Locale aLocale; sal_Bool bValid; - sal_Int16 nDay, nMonth, nYear, nDaySet, nMonthSet, nYearSet; + sal_Int16 nDay, nMonth, nYear, nHour, nMinute, nSecond; + sal_Int16 nDaySet, nMonthSet, nYearSet, nHourSet, nMinuteSet, nSecondSet; + sal_Int16 nZO, nDST1, nDST2, nDST; uno::Reference< lang::XMultiServiceFactory > xSMgr = ::comphelper::getProcessServiceFactory(); uno::Reference< ::drafts::com::sun::star::i18n::XExtendedCalendar > xCal( @@ -1337,18 +1339,41 @@ input for the following reasons: aLocale.Country = ::rtl::OUString::createFromAscii( p->cou ); xCal->loadCalendar( ::rtl::OUString::createFromAscii( p->cal ), aLocale ); - xCal->setDateTime( 0.0 ); // 1-Jan-1970 - nDaySet = xCal->getValue( i18n::CalendarFieldIndex::DAY_OF_MONTH ); - nMonthSet = xCal->getValue( i18n::CalendarFieldIndex::MONTH ); - nYearSet = xCal->getValue( i18n::CalendarFieldIndex::YEAR ); + double nDateTime = 0.0; // 1-Jan-1970 00:00:00 + nZO = xCal->getValue( i18n::CalendarFieldIndex::ZONE_OFFSET ); + nDST1 = xCal->getValue( i18n::CalendarFieldIndex::DST_OFFSET ); + nDateTime -= (double)(nZO + nDST1) / 60.0 / 24.0; + xCal->setDateTime( nDateTime ); + nDST2 = xCal->getValue( i18n::CalendarFieldIndex::DST_OFFSET ); + if ( nDST1 != nDST2 ) + { + nDateTime = 0.0 - (double)(nZO + nDST2) / 60.0 / 24.0; + xCal->setDateTime( nDateTime ); + } + nDaySet = xCal->getValue( i18n::CalendarFieldIndex::DAY_OF_MONTH ); + nMonthSet = xCal->getValue( i18n::CalendarFieldIndex::MONTH ); + nYearSet = xCal->getValue( i18n::CalendarFieldIndex::YEAR ); + nHourSet = xCal->getValue( i18n::CalendarFieldIndex::HOUR ); + nMinuteSet = xCal->getValue( i18n::CalendarFieldIndex::MINUTE ); + nSecondSet = xCal->getValue( i18n::CalendarFieldIndex::SECOND ); + nZO = xCal->getValue( i18n::CalendarFieldIndex::ZONE_OFFSET ); + nDST = xCal->getValue( i18n::CalendarFieldIndex::DST_OFFSET ); xCal->setValue( i18n::CalendarFieldIndex::DAY_OF_MONTH, nDaySet ); xCal->setValue( i18n::CalendarFieldIndex::MONTH, nMonthSet ); xCal->setValue( i18n::CalendarFieldIndex::YEAR, nYearSet ); - bValid = xCal->isValid(); - nDay = xCal->getValue( i18n::CalendarFieldIndex::DAY_OF_MONTH ); - nMonth = xCal->getValue( i18n::CalendarFieldIndex::MONTH ); - nYear = xCal->getValue( i18n::CalendarFieldIndex::YEAR ); - bValid = bValid && nDay == nDaySet && nMonth == nMonthSet && nYear == nYearSet; + xCal->setValue( i18n::CalendarFieldIndex::HOUR, nHourSet ); + xCal->setValue( i18n::CalendarFieldIndex::MINUTE, nMinuteSet ); + xCal->setValue( i18n::CalendarFieldIndex::SECOND, nSecondSet ); + bValid = xCal->isValid(); + nDay = xCal->getValue( i18n::CalendarFieldIndex::DAY_OF_MONTH ); + nMonth = xCal->getValue( i18n::CalendarFieldIndex::MONTH ); + nYear = xCal->getValue( i18n::CalendarFieldIndex::YEAR ); + nHour = xCal->getValue( i18n::CalendarFieldIndex::HOUR ); + nMinute = xCal->getValue( i18n::CalendarFieldIndex::MINUTE ); + nSecond = xCal->getValue( i18n::CalendarFieldIndex::SECOND ); + bValid = bValid && nDay == nDaySet && nMonth == nMonthSet && nYear == + nYearSet && nHour == nHourSet && nMinute == nMinuteSet && nSecond + == nSecondSet; } } #endif // NF_TEST_CALENDAR diff --git a/svtools/source/numbers/zformat.cxx b/svtools/source/numbers/zformat.cxx index fedd00689992..01ebe27c88ec 100644 --- a/svtools/source/numbers/zformat.cxx +++ b/svtools/source/numbers/zformat.cxx @@ -2,9 +2,9 @@ * * $RCSfile: zformat.cxx,v $ * - * $Revision: 1.44 $ + * $Revision: 1.45 $ * - * last change: $Author: er $ $Date: 2002-09-17 16:38:59 $ + * last change: $Author: er $ $Date: 2002-09-24 14:16:50 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -2552,7 +2552,7 @@ BOOL SvNumberformat::ImpGetTimeOutput(double fNumber, { double fDiff = DateTime(*(rScan.GetNullDate())) - GetCal().getEpochStart(); fDiff += fNumberOrig; - GetCal().setDateTime( fDiff ); + GetCal().setLocalDateTime( fDiff ); bCalendarSet = TRUE; } if (cAmPm == 'a') @@ -2756,7 +2756,7 @@ BOOL SvNumberformat::ImpGetDateOutput(double fNumber, CalendarWrapper& rCal = GetCal(); double fDiff = DateTime(*(rScan.GetNullDate())) - rCal.getEpochStart(); fNumber += fDiff; - rCal.setDateTime( fNumber ); + rCal.setLocalDateTime( fNumber ); String aOrgCalendar; // empty => not changed yet double fOrgDateTime; BOOL bOtherCalendar = ImpIsOtherCalendar( NumFor[nIx] ); @@ -2938,7 +2938,7 @@ BOOL SvNumberformat::ImpGetDateTimeOutput(double fNumber, CalendarWrapper& rCal = GetCal(); double fDiff = DateTime(*(rScan.GetNullDate())) - rCal.getEpochStart(); fNumber += fDiff; - rCal.setDateTime( fNumber ); + rCal.setLocalDateTime( fNumber ); String aOrgCalendar; // empty => not changed yet double fOrgDateTime; BOOL bOtherCalendar = ImpIsOtherCalendar( NumFor[nIx] ); |