diff --git a/asterix-app/src/test/resources/runtimets/queries/temporal/parse_02/parse_02.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/temporal/parse_02/parse_02.3.query.aql
index dd1a2a5..318c4fe 100644
--- a/asterix-app/src/test/resources/runtimets/queries/temporal/parse_02/parse_02.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/temporal/parse_02/parse_02.3.query.aql
@@ -26,7 +26,8 @@
 let $date := date("-0123-01-30")
 let $time := time("08:07:29.030Z")
 let $datetime := datetime("0137-12-31T23:59:59.999+08:00")
-return { 
+let $datetime2 := datetime("1000-10-10T10:10:10.100+00:00")
+return {
   "date-string-1": print-date($date, "YY/M/D"),
   "date-string-2": print-date($date, "MMM DD, YYYY"),
   "date-string-3": print-date($date, "YYYY/MM/DD"),
@@ -34,5 +35,6 @@
   "time-string-2": print-time($time, "hh.mm.ss.nnn a z"),
   "datetime-string-1": print-datetime($datetime, "MMM DD h:m:s.nnn a YY z"),
   "datetime-string-2": print-datetime($datetime, "YYYY/MMM/DD h:m:s.nnnz a"),
-  "datetime-string-3": print-datetime($datetime, "YYYY-MM-DDThh:mm:ss.nnnz")
+  "datetime-string-3": print-datetime($datetime, "YYYY-MM-DDThh:mm:ss.nnnz"),
+  "datetime-string-4": print-datetime($datetime2, "YYYY-MM-DDThh:mm:ss.nnnz")
  }
diff --git a/asterix-app/src/test/resources/runtimets/queries_sqlpp/temporal/parse_02/parse_02.3.query.sqlpp b/asterix-app/src/test/resources/runtimets/queries_sqlpp/temporal/parse_02/parse_02.3.query.sqlpp
index a6f8354..5b7df2e 100644
--- a/asterix-app/src/test/resources/runtimets/queries_sqlpp/temporal/parse_02/parse_02.3.query.sqlpp
+++ b/asterix-app/src/test/resources/runtimets/queries_sqlpp/temporal/parse_02/parse_02.3.query.sqlpp
@@ -24,4 +24,4 @@
 use test;
 
 
-{'date-string-1':test."print-date"(test.date('-0123-01-30'),'YY/M/D'),'date-string-2':test."print-date"(test.date('-0123-01-30'),'MMM DD, YYYY'),'date-string-3':test."print-date"(test.date('-0123-01-30'),'YYYY/MM/DD'),'time-string-1':test."print-time"(test.time('08:07:29.030Z'),'h.m.s.nn a z'),'time-string-2':test."print-time"(test.time('08:07:29.030Z'),'hh.mm.ss.nnn a z'),'datetime-string-1':test."print-datetime"(test.datetime('0137-12-31T23:59:59.999+08:00'),'MMM DD h:m:s.nnn a YY z'),'datetime-string-2':test."print-datetime"(test.datetime('0137-12-31T23:59:59.999+08:00'),'YYYY/MMM/DD h:m:s.nnnz a'),'datetime-string-3':test."print-datetime"(test.datetime('0137-12-31T23:59:59.999+08:00'),'YYYY-MM-DDThh:mm:ss.nnnz')};
+{'date-string-1':test."print-date"(test.date('-0123-01-30'),'YY/M/D'),'date-string-2':test."print-date"(test.date('-0123-01-30'),'MMM DD, YYYY'),'date-string-3':test."print-date"(test.date('-0123-01-30'),'YYYY/MM/DD'),'time-string-1':test."print-time"(test.time('08:07:29.030Z'),'h.m.s.nn a z'),'time-string-2':test."print-time"(test.time('08:07:29.030Z'),'hh.mm.ss.nnn a z'),'datetime-string-1':test."print-datetime"(test.datetime('0137-12-31T23:59:59.999+08:00'),'MMM DD h:m:s.nnn a YY z'),'datetime-string-2':test."print-datetime"(test.datetime('0137-12-31T23:59:59.999+08:00'),'YYYY/MMM/DD h:m:s.nnnz a'),'datetime-string-3':test."print-datetime"(test.datetime('0137-12-31T23:59:59.999+08:00'),'YYYY-MM-DDThh:mm:ss.nnnz'),'datetime-string-4':test."print-datetime"(test.datetime('1000-10-10T10:10:10.100+00:00'),'YYYY-MM-DDThh:mm:ss.nnnz')};
diff --git a/asterix-app/src/test/resources/runtimets/results/temporal/parse_02/parse_02.1.adm b/asterix-app/src/test/resources/runtimets/results/temporal/parse_02/parse_02.1.adm
index 53035aa..68f22cc 100644
--- a/asterix-app/src/test/resources/runtimets/results/temporal/parse_02/parse_02.1.adm
+++ b/asterix-app/src/test/resources/runtimets/results/temporal/parse_02/parse_02.1.adm
@@ -1 +1 @@
-{ "date-string-1": "-123/1/30", "date-string-2": "JAN 30, -0123", "date-string-3": "-0123/01/30", "time-string-1": "8.7.29.03 AM Z", "time-string-2": "08.07.29.030 AM Z", "datetime-string-1": "DEC 31 3:59:59.999 PM 137 Z", "datetime-string-2": "0137/DEC/31 3:59:59.999Z PM", "datetime-string-3": "0137-12-31T15:59:59.999Z" }
+{ "date-string-1": "-123/1/30", "date-string-2": "JAN 30, -0123", "date-string-3": "-0123/01/30", "time-string-1": "8.7.29.03 AM Z", "time-string-2": "08.07.29.030 AM Z", "datetime-string-1": "DEC 31 3:59:59.999 PM 137 Z", "datetime-string-2": "0137/DEC/31 3:59:59.999Z PM", "datetime-string-3": "0137-12-31T15:59:59.999Z", "datetime-string-4": "1000-10-10T10:10:10.100Z" }
diff --git a/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/temporal/parse_02/parse_02.3.ast b/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/temporal/parse_02/parse_02.3.ast
index 1fe2ac2..5ff0efc 100644
--- a/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/temporal/parse_02/parse_02.3.ast
+++ b/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/temporal/parse_02/parse_02.3.ast
@@ -81,4 +81,14 @@
       LiteralExpr [STRING] [YYYY-MM-DDThh:mm:ss.nnnz]
     ]
   )
+  (
+    LiteralExpr [STRING] [datetime-string-4]
+    :
+    FunctionCall test.print-datetime@2[
+      FunctionCall test.datetime@1[
+        LiteralExpr [STRING] [1000-10-10T10:10:10.100+00:00]
+      ]
+      LiteralExpr [STRING] [YYYY-MM-DDThh:mm:ss.nnnz]
+    ]
+  )
 ]
diff --git a/asterix-om/src/main/java/org/apache/asterix/om/base/temporal/DateTimeFormatUtils.java b/asterix-om/src/main/java/org/apache/asterix/om/base/temporal/DateTimeFormatUtils.java
index 30ff44d..8e33d44 100644
--- a/asterix-om/src/main/java/org/apache/asterix/om/base/temporal/DateTimeFormatUtils.java
+++ b/asterix-om/src/main/java/org/apache/asterix/om/base/temporal/DateTimeFormatUtils.java
@@ -875,14 +875,12 @@
                         } else {
                             val = day;
                         }
-                        int valFieldCount = (int) Math.ceil(Math.log10(val));
-                        if (val == 1 || val == 0) {
-                            valFieldCount = 1;
-                        }
+                        String strVal = String.valueOf(val);
+                        int valFieldCount = strVal.length();
                         for (int i = 0; i < formatCharCopies - valFieldCount; i++) {
                             appender.append('0');
                         }
-                        appender.append(String.valueOf(val));
+                        appender.append(strVal);
                         break;
                     case HOUR:
                     case MINUTE:
@@ -904,7 +902,8 @@
                         appender.append(String.valueOf(val));
                         break;
                     case MILLISECOND:
-                        int msFieldCount = (int) Math.ceil(Math.log10(ms));
+                        String strMS = String.valueOf(ms);
+                        int msFieldCount = strMS.length();
                         for (int i = 0; i < 3 - msFieldCount; i++) {
                             appender.append('0');
                         }
@@ -924,9 +923,10 @@
                                     ms = ms / 10;
                                 }
                             }
-
+                            appender.append(String.valueOf(ms));
+                        } else {
+                            appender.append(strMS);
                         }
-                        appender.append(String.valueOf(ms));
                         break;
                     case TIMEZONE:
                         if (timezone == 0) {
