committing fix for XALANJ-2623

git-svn-id: https://svn.apache.org/repos/asf/xalan/java/branches/xalan-j_2_7_1_maint@1857290 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/org/apache/xalan/lib/ExsltDatetime.java b/src/org/apache/xalan/lib/ExsltDatetime.java
index e8c9f72..5a47207 100644
--- a/src/org/apache/xalan/lib/ExsltDatetime.java
+++ b/src/org/apache/xalan/lib/ExsltDatetime.java
@@ -22,13 +22,23 @@
 package org.apache.xalan.lib;
 
 
+import java.math.BigDecimal;
+import java.math.BigInteger;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.Calendar;
 import java.util.Date;
+import java.util.GregorianCalendar;
 import java.util.Locale;
 import java.util.TimeZone;
 
+import javax.xml.datatype.DatatypeConfigurationException;
+import javax.xml.datatype.DatatypeConstants;
+import javax.xml.datatype.DatatypeFactory;
+import javax.xml.datatype.Duration;
+import javax.xml.datatype.XMLGregorianCalendar;
+import javax.xml.namespace.QName;
+
 import org.apache.xpath.objects.XBoolean;
 import org.apache.xpath.objects.XNumber;
 import org.apache.xpath.objects.XObject;
@@ -75,7 +85,7 @@
      */
     public static String dateTime()
     {
-      Calendar cal = Calendar.getInstance();
+      /*Calendar cal = Calendar.getInstance();
       Date datetime = cal.getTime();
       // Format for date and time.
       SimpleDateFormat dateFormat = new SimpleDateFormat(dt);
@@ -97,8 +107,21 @@
         char posneg = hrs < 0? '-': '+';
         buff.append(posneg + formatDigits(hrs) + ':' + formatDigits(min));
       }
-      return buff.toString();
-    }
+      return buff.toString();*/      
+      String resultStr = "";
+      try {
+         GregorianCalendar cal = new GregorianCalendar();
+         cal.setTime(new Date());
+         XMLGregorianCalendar xCal = DatatypeFactory.newInstance().newXMLGregorianCalendar(cal);
+         xCal.setMillisecond(DatatypeConstants.FIELD_UNDEFINED);
+         resultStr = xCal.toXMLFormat();
+      }
+      catch (DatatypeConfigurationException ex) {
+         
+      }
+      
+      return resultStr;
+    }    
     
     /**
      * Represent the hours and minutes with two-digit strings.