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
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