/************************************************************** * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. * *************************************************************/ #ifndef __com_sun_star_i18n_CalendarFieldIndex_idl__ #define __com_sun_star_i18n_CalendarFieldIndex_idl__ //============================================================================= module com { module sun { module star { module i18n { //============================================================================= /** Field indices to be passed to various <type>XCalendar</type> methods. <p> Field is writable only if marked both Get/Set. </p> <p> ZONE_OFFSET and DST_OFFSET cooperate such that both values are added, for example, ZoneOffset=1*60 and DstOffset=1*60 results in a time difference of GMT+2. The calculation in minutes is GMT = LocalTime - ZoneOffset - DstOffset </p> <p> With introduction of ZONE_OFFSET_SECOND_MILLIS and DST_OFFSET_SECOND_MILLIS the exact calculation in milliseconds is GMT = LocalTime - (ZoneOffset*60000 + ZoneOffsetMillis * sign(ZoneOffset)) - (DstOffset*60000 + DstOffsetMillis * sign(DstOffset)) <p> */ published constants CalendarFieldIndex { /// Get <type>AmPmValue</type>. const short AM_PM = 0; /// Get/Set day of month [1-31]. const short DAY_OF_MONTH = 1; /// Get day of week [0-6]. const short DAY_OF_WEEK = 2; /// Get day of year. const short DAY_OF_YEAR = 3; /** Get daylight saving time offset in minutes, e.g. [0*60..1*60] <p> The DST offset value depends on the actual date set at the calendar and is determined according to the timezone rules of the locale used with the calendar. </p> <p> Note that there is a bug in OpenOffice.org 1.0 / StarOffice 6.0 that prevents interpreting this value correctly. </p> */ const short DST_OFFSET = 4; /// Get/Set hour [0-23]. const short HOUR = 5; /// Get/Set minute [0-59]. const short MINUTE = 6; /// Get/Set second [0-59]. const short SECOND = 7; /// Get/Set milliseconds [0-999]. const short MILLISECOND = 8; /// Get week of month. const short WEEK_OF_MONTH = 9; /// Get week of year. const short WEEK_OF_YEAR = 10; /// Get/Set year. const short YEAR = 11; /** Get/Set month [0-...]. <p> Note that the maximum value is <b>not</b> necessarily 11 for December but depends on the calendar used instead. </p> */ const short MONTH = 12; /// Get/Set era, for example, 0:= Before Christ, 1:= After Christ. const short ERA = 13; /// Get/Set time zone offset in minutes, e.g. [-14*60..14*60] const short ZONE_OFFSET = 14; /// Total number of fields for < OpenOffice 3.1 const short FIELD_COUNT = 15; /** Get/Set additional offset in milliseconds that <b>adds</b> to the value of ZONE_OFFSET. This may be necessary to correctly interpret historical timezone data that consists of fractions of minutes, e.g. seconds. 1 minute == 60000 milliseconds. @ATTENTION! Though the field's type is signed 16-bit, the field value is treated as unsigned 16-bit to allow for values up to 60000 and expresses an absolute value that inherits its sign from the parent ZONE_OFFSET field. @since OpenOffice 3.1 */ const short ZONE_OFFSET_SECOND_MILLIS = 15; /** Get additional offset in milliseconds that <b>adds</b> to the value of DST_OFFSET. This may be necessary to correctly interpret historical timezone data that consists of fractions of minutes, e.g. seconds. 1 minute == 60000 milliseconds. @ATTENTION! Though the field's type is signed 16-bit, the field value is treated as unsigned 16-bit to allow for values up to 60000 and expresses an absolute value that inherits its sign from the parent DST_OFFSET field. @since OpenOffice 3.1 */ const short DST_OFFSET_SECOND_MILLIS = 16; /** Total number of fields as of OpenOffice 3.1 @since OpenOffice 3.1 */ const short FIELD_COUNT2 = 17; }; //============================================================================= }; }; }; }; #endif