Example #1
0
        set(DateTime value, TimeZone tz)
        {
            // DateTime does not have a null
            //if (value == null)
            //{
            //    setNull();
            //    return;
            //}

            setNotNull();
            nanos = 0;

            if (value.Kind == DateTimeKind.Utc)              // if UTC, normalize to LOCAL
            {
                value = value.ToLocalTime();
            }

            switch (dbms_type)
            {
            case DBMS_TYPE_TIME:
                /*
                ** DAS parses local time using GMT.
                */
                this.value = SqlDates.formatTime(value, true);
                break;

            case DBMS_TYPE_TMWO:
                /*
                ** Format as local time using requested or default timezone.
                */
                this.value = (tz != null) ? SqlDates.formatTime(value, tz)
                                                                  : SqlDates.formatTime(value, false);
                break;

            case DBMS_TYPE_TMTZ:
                /*
                ** Format as local time using requested or default timezone.
                */
                this.value = (tz != null) ? SqlDates.formatTime(value, tz)
                                                                  : SqlDates.formatTime(value, false);

                /*
                ** Java applies TZ and DST of 'epoch' date: 1970-01-01.
                ** Ingres applies TZ and DST of todays date, so use
                ** current date to determine explicit TZ offset.
                */
                long millis = DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond;
                timezone = (tz != null) ? SqlDates.formatTZ(tz, millis)
                                                                : SqlDates.formatTZ(millis);
                break;
            }

            return;
        }         // set
Example #2
0
        set(DateTime value, TimeZone tz)
        {
            //DateTime does not have a null state
            //if (value == null)
            //{
            //    setNull();
            //    return;
            //}

            setNotNull();
            nanos = 0;

            if (value.Kind == DateTimeKind.Utc)              // if UTC, normalize to LOCAL
            {
                value = value.ToLocalTime();
            }

            switch (dbms_type)
            {
            case DBMS_TYPE_TS:
                /*
                ** DAS parses local time using GMT.
                */
                this.value = SqlDates.formatTimestamp(value, true);
                break;

            case DBMS_TYPE_TSWO:
                /*
                ** Format as local time using requested or default timezone.
                */
                this.value = (tz != null) ? SqlDates.formatTimestamp(value, tz)
                                                                  : SqlDates.formatTimestamp(value, false);
                break;

            case DBMS_TYPE_TSTZ:
                /*
                ** Format as local time using requested or default timezone.
                */
                this.value = (tz != null) ? SqlDates.formatTimestamp(value, tz)
                                                                  : SqlDates.formatTimestamp(value, false);

                /*
                ** Get the TZ offset of the target value in the requested
                ** or default timezone.
                */
                timezone = (tz != null) ? SqlDates.formatTZ(tz, value)
                                                                : SqlDates.formatTZ(value);
                break;
            }

            return;
        }         // set