mirror of
https://github.com/postgres/postgres.git
synced 2025-06-13 07:41:39 +03:00
Update DAYS_PER_MONTH comment.
Add SECS_PER_YEAR and MINS_PER_HOUR macros.
This commit is contained in:
@ -8,7 +8,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/backend/utils/adt/datetime.c,v 1.154 2005/07/21 04:41:43 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/utils/adt/datetime.c,v 1.155 2005/07/21 18:06:12 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -1447,7 +1447,7 @@ DecodeDateTime(char **field, int *ftype, int nf,
|
||||
tm->tm_isdst = 1;
|
||||
if (tzp == NULL)
|
||||
return DTERR_BAD_FORMAT;
|
||||
*tzp += val * SECS_PER_MINUTE;
|
||||
*tzp += val * MINS_PER_HOUR;
|
||||
break;
|
||||
|
||||
case DTZ:
|
||||
@ -1460,7 +1460,7 @@ DecodeDateTime(char **field, int *ftype, int nf,
|
||||
tm->tm_isdst = 1;
|
||||
if (tzp == NULL)
|
||||
return DTERR_BAD_FORMAT;
|
||||
*tzp = val * SECS_PER_MINUTE;
|
||||
*tzp = val * MINS_PER_HOUR;
|
||||
ftype[i] = DTK_TZ;
|
||||
break;
|
||||
|
||||
@ -1468,7 +1468,7 @@ DecodeDateTime(char **field, int *ftype, int nf,
|
||||
tm->tm_isdst = 0;
|
||||
if (tzp == NULL)
|
||||
return DTERR_BAD_FORMAT;
|
||||
*tzp = val * SECS_PER_MINUTE;
|
||||
*tzp = val * MINS_PER_HOUR;
|
||||
ftype[i] = DTK_TZ;
|
||||
break;
|
||||
|
||||
@ -1667,7 +1667,7 @@ DetermineLocalTimeZone(struct pg_tm * tm)
|
||||
day = ((pg_time_t) date) *SECS_PER_DAY;
|
||||
if (day / SECS_PER_DAY != date)
|
||||
goto overflow;
|
||||
sec = tm->tm_sec + (tm->tm_min + tm->tm_hour * SECS_PER_MINUTE) * SECS_PER_MINUTE;
|
||||
sec = tm->tm_sec + (tm->tm_min + tm->tm_hour * MINS_PER_HOUR) * SECS_PER_MINUTE;
|
||||
mytime = day + sec;
|
||||
/* since sec >= 0, overflow could only be from +day to -mytime */
|
||||
if (mytime < 0 && day > 0)
|
||||
@ -1679,7 +1679,7 @@ DetermineLocalTimeZone(struct pg_tm * tm)
|
||||
* that DST boundaries can't be closer together than 48 hours, so
|
||||
* backing up 24 hours and finding the "next" boundary will work.
|
||||
*/
|
||||
prevtime = mytime - (HOURS_PER_DAY * SECS_PER_MINUTE * SECS_PER_MINUTE);
|
||||
prevtime = mytime - SECS_PER_DAY;
|
||||
if (mytime < 0 && prevtime > 0)
|
||||
goto overflow;
|
||||
|
||||
@ -2167,7 +2167,7 @@ DecodeTimeOnly(char **field, int *ftype, int nf,
|
||||
tm->tm_isdst = 1;
|
||||
if (tzp == NULL)
|
||||
return DTERR_BAD_FORMAT;
|
||||
*tzp += val * SECS_PER_MINUTE;
|
||||
*tzp += val * MINS_PER_HOUR;
|
||||
break;
|
||||
|
||||
case DTZ:
|
||||
@ -2180,7 +2180,7 @@ DecodeTimeOnly(char **field, int *ftype, int nf,
|
||||
tm->tm_isdst = 1;
|
||||
if (tzp == NULL)
|
||||
return DTERR_BAD_FORMAT;
|
||||
*tzp = val * SECS_PER_MINUTE;
|
||||
*tzp = val * MINS_PER_HOUR;
|
||||
ftype[i] = DTK_TZ;
|
||||
break;
|
||||
|
||||
@ -2188,7 +2188,7 @@ DecodeTimeOnly(char **field, int *ftype, int nf,
|
||||
tm->tm_isdst = 0;
|
||||
if (tzp == NULL)
|
||||
return DTERR_BAD_FORMAT;
|
||||
*tzp = val * SECS_PER_MINUTE;
|
||||
*tzp = val * MINS_PER_HOUR;
|
||||
ftype[i] = DTK_TZ;
|
||||
break;
|
||||
|
||||
@ -2833,7 +2833,7 @@ DecodeTimezone(char *str, int *tzp)
|
||||
if (min < 0 || min >= 60)
|
||||
return DTERR_TZDISP_OVERFLOW;
|
||||
|
||||
tz = (hr * SECS_PER_MINUTE + min) * SECS_PER_MINUTE;
|
||||
tz = (hr * MINS_PER_HOUR + min) * SECS_PER_MINUTE;
|
||||
if (*str == '-')
|
||||
tz = -tz;
|
||||
|
||||
@ -2890,7 +2890,7 @@ DecodePosixTimezone(char *str, int *tzp)
|
||||
{
|
||||
case DTZ:
|
||||
case TZ:
|
||||
*tzp = (val * SECS_PER_MINUTE) - tz;
|
||||
*tzp = (val * MINS_PER_HOUR) - tz;
|
||||
break;
|
||||
|
||||
default:
|
||||
@ -3510,7 +3510,7 @@ EncodeTimeOnly(struct pg_tm * tm, fsec_t fsec, int *tzp, int style, char *str)
|
||||
min;
|
||||
|
||||
hour = -(*tzp / SECS_PER_HOUR);
|
||||
min = (abs(*tzp) / SECS_PER_MINUTE) % SECS_PER_MINUTE;
|
||||
min = (abs(*tzp) / MINS_PER_HOUR) % MINS_PER_HOUR;
|
||||
sprintf(str + strlen(str), (min != 0) ? "%+03d:%02d" : "%+03d", hour, min);
|
||||
}
|
||||
|
||||
@ -3583,7 +3583,7 @@ EncodeDateTime(struct pg_tm * tm, fsec_t fsec, int *tzp, char **tzn, int style,
|
||||
if (tzp != NULL && tm->tm_isdst >= 0)
|
||||
{
|
||||
hour = -(*tzp / SECS_PER_HOUR);
|
||||
min = (abs(*tzp) / SECS_PER_MINUTE) % SECS_PER_MINUTE;
|
||||
min = (abs(*tzp) / MINS_PER_HOUR) % MINS_PER_HOUR;
|
||||
sprintf(str + strlen(str), (min != 0) ? "%+03d:%02d" : "%+03d", hour, min);
|
||||
}
|
||||
|
||||
@ -3633,7 +3633,7 @@ EncodeDateTime(struct pg_tm * tm, fsec_t fsec, int *tzp, char **tzn, int style,
|
||||
else
|
||||
{
|
||||
hour = -(*tzp / SECS_PER_HOUR);
|
||||
min = (abs(*tzp) / SECS_PER_MINUTE) % SECS_PER_MINUTE;
|
||||
min = (abs(*tzp) / MINS_PER_HOUR) % MINS_PER_HOUR;
|
||||
sprintf(str + strlen(str), (min != 0) ? "%+03d:%02d" : "%+03d", hour, min);
|
||||
}
|
||||
}
|
||||
@ -3681,7 +3681,7 @@ EncodeDateTime(struct pg_tm * tm, fsec_t fsec, int *tzp, char **tzn, int style,
|
||||
else
|
||||
{
|
||||
hour = -(*tzp / SECS_PER_HOUR);
|
||||
min = (abs(*tzp) / SECS_PER_MINUTE) % SECS_PER_MINUTE;
|
||||
min = (abs(*tzp) / MINS_PER_HOUR) % MINS_PER_HOUR;
|
||||
sprintf(str + strlen(str), (min != 0) ? "%+03d:%02d" : "%+03d", hour, min);
|
||||
}
|
||||
}
|
||||
@ -3747,7 +3747,7 @@ EncodeDateTime(struct pg_tm * tm, fsec_t fsec, int *tzp, char **tzn, int style,
|
||||
* 2001-10-19
|
||||
*/
|
||||
hour = -(*tzp / SECS_PER_HOUR);
|
||||
min = (abs(*tzp) / SECS_PER_MINUTE) % SECS_PER_MINUTE;
|
||||
min = (abs(*tzp) / MINS_PER_HOUR) % MINS_PER_HOUR;
|
||||
sprintf(str + strlen(str), (min != 0) ? " %+03d:%02d" : " %+03d", hour, min);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user