Apply millisecond of DateTime for Calendar
authorHokwon Song <hokwon.song@samsung.com>
Thu, 28 Mar 2013 01:38:58 +0000 (10:38 +0900)
committerHokwon Song <hokwon.song@samsung.com>
Thu, 28 Mar 2013 01:38:58 +0000 (10:38 +0900)
Change-Id: I7d7f26e250d7cc0f27f4e3cdc3cd0931317e7b2d
Signed-off-by: Hokwon Song <hokwon.song@samsung.com>
src/locales/FLcl_CalendarImpl.cpp
src/locales/FLcl_CalendarImpl.h
src/locales/FLcl_IcuCalendarImpl.cpp
src/locales/FLcl_IcuCalendarImpl.h

index 2c55ae3..8e75857 100644 (file)
@@ -225,14 +225,15 @@ _CalendarImpl::SetTimeInMillisecImpl(long long millisec)
 result
 _CalendarImpl::SetTimeImpl(const DateTime& dateTime)
 {
-       return SetTimeImpl(dateTime.GetYear(), dateTime.GetMonth(), dateTime.GetDay(), dateTime.GetHour(), dateTime.GetMinute(), dateTime.GetSecond());
+       return SetTimeImpl(dateTime.GetYear(), dateTime.GetMonth(), dateTime.GetDay(),
+                        dateTime.GetHour(), dateTime.GetMinute(), dateTime.GetSecond(), dateTime.GetMillisecond());
 }
 
 result
-_CalendarImpl::SetTimeImpl(int year, int month, int day, int hour, int minute, int second)
+_CalendarImpl::SetTimeImpl(int year, int month, int day, int hour, int minute, int second, int millisecond)
 {
        SysAssertf(__pCalendar != null, "Not yet constructed! Construct() should be called before use.");
-       return __pCalendar->SetTime(year, month, day, hour, minute, second);
+       return __pCalendar->SetTime(year, month, day, hour, minute, second, millisecond);
 }
 
 result
@@ -414,9 +415,10 @@ _CalendarImpl::GetTimeImpl(void) const
        int hour = __pCalendar->GetTimeField(TIME_FIELD_HOUR_OF_DAY);
        int minute = __pCalendar->GetTimeField(TIME_FIELD_MINUTE);
        int second = __pCalendar->GetTimeField(TIME_FIELD_SECOND);
+       int millisecond = __pCalendar->GetTimeField(TIME_FIELD_MILLISECOND);
 
        DateTime dateTime;
-       result r = dateTime.SetValue(year, month, date, hour, minute, second);
+       result r = dateTime.SetValue(year, month, date, hour, minute, second, millisecond);
        SysTryReturn(NID_LCL, r == E_SUCCESS, DateTime(), r, "[%s] Unable to set time in DateTime object", GetErrorMessage(r));
 
        return dateTime;
index 211d154..aafc35e 100644 (file)
@@ -53,7 +53,7 @@ public:
        result SetTimeFieldImpl(TimeField field, int value);
        result SetTimeInMillisecImpl(long long millisec);
        result SetTimeImpl(const Tizen::Base::DateTime& dateTime);
-       result SetTimeImpl(int year, int month, int day, int hour = 0, int minute = 0, int second = 0);
+       result SetTimeImpl(int year, int month, int day, int hour = 0, int minute = 0, int second = 0, int millisecond = 0);
 
        result SetFirstDayOfWeekImpl(DayOfWeek dayOfWeek);
        result SetLenientImpl(bool lenient);
index f3c29b1..2dc5a92 100644 (file)
@@ -488,12 +488,13 @@ _IcuCalendarImpl::SetMinDaysInFirstWeek(short value)
 }
 
 result
-_IcuCalendarImpl::SetTime(int year, int month, int day, int hour, int minute, int second)
+_IcuCalendarImpl::SetTime(int year, int month, int day, int hour, int minute, int second, int millisecond)
 {
        SysAssertf(__pIcuCalendar != null, "Not yet constructed! Construct() should be called before use.");
        UErrorCode ec = U_ZERO_ERROR;
        UDate old = __pIcuCalendar->getTime(ec);
        __pIcuCalendar->set(year, month - 1, day, hour, minute, second);
+       __pIcuCalendar->set(UCAL_MILLISECOND, millisecond);
 
        ec = U_ZERO_ERROR;
        __pIcuCalendar->getTime(ec);
index fc0b134..604ea16 100644 (file)
@@ -55,7 +55,7 @@ public:
 
        virtual result AddTimeField(int field, int amount);   // Affect all fields
        virtual result Roll(int field, int amount);           // Does not affect higher fields
-       virtual result SetTime(int year, int month, int day, int hour = 0, int minute = 0, int second = 0);
+       virtual result SetTime(int year, int month, int day, int hour = 0, int minute = 0, int second = 0, int millisecond = 0);
 
        virtual int GetTimeField(int field) const;
        virtual result SetTimeField(int field, int value);