diff --git a/src/backend/utils/adt/datetime.c b/src/backend/utils/adt/datetime.c
index 509a89f860..8677cb29a6 100644
--- a/src/backend/utils/adt/datetime.c
+++ b/src/backend/utils/adt/datetime.c
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/backend/utils/adt/datetime.c,v 1.145 2005/05/26 02:04:13 neilc Exp $
+ *	  $PostgreSQL: pgsql/src/backend/utils/adt/datetime.c,v 1.146 2005/05/26 03:48:25 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -3461,7 +3461,7 @@ EncodeTimeOnly(struct pg_tm * tm, fsec_t fsec, int *tzp, int style, char *str)
 #ifdef HAVE_INT64_TIMESTAMP
 		sprintf(str + strlen(str), ":%02d.%06d", tm->tm_sec, fsec);
 #else
-		sprintf(str + strlen(str), ":%013.10f", tm->tm_sec + fsec);
+		sprintf(str + strlen(str), ":%012.9f", tm->tm_sec + fsec);
 #endif
 		/* chop off trailing pairs of zeros... */
 		while (strcmp((str + strlen(str) - 2), "00") == 0 &&
@@ -3804,7 +3804,7 @@ EncodeInterval(struct pg_tm * tm, fsec_t fsec, int style, char *str)
 					sprintf(cp, ".%06d", Abs(fsec));
 #else
 					fsec += tm->tm_sec;
-					sprintf(cp, ":%013.10f", fabs(fsec));
+					sprintf(cp, ":%012.9f", fabs(fsec));
 #endif
 					TrimTrailingZeros(cp);
 					cp += strlen(cp);
diff --git a/src/interfaces/ecpg/pgtypeslib/interval.c b/src/interfaces/ecpg/pgtypeslib/interval.c
index 2e644f14c1..5e229f64cc 100644
--- a/src/interfaces/ecpg/pgtypeslib/interval.c
+++ b/src/interfaces/ecpg/pgtypeslib/interval.c
@@ -511,7 +511,7 @@ EncodeInterval(struct tm * tm, fsec_t fsec, int style, char *str)
 					sprintf(cp, ".%06d", (fsec >= 0) ? fsec : -(fsec));
 #else
 					fsec += tm->tm_sec;
-					sprintf(cp, ":%013.10f", fabs(fsec));
+					sprintf(cp, ":%012.9f", fabs(fsec));
 #endif
 					TrimTrailingZeros(cp);
 					cp += strlen(cp);