a couple of w3/dublin core date functions added
authorjohn <john>
Sun, 14 Apr 2002 22:52:28 +0000 (22:52 +0000)
committerjohn <john>
Sun, 14 Apr 2002 22:52:28 +0000 (22:52 +0000)
source/mir/misc/StringUtil.java

index 2e702dc..409d5a0 100755 (executable)
@@ -68,6 +68,34 @@ public final class StringUtil {
        }
 
        /**
+        * Return a http://www.w3.org/TR/NOTE-datetime formatted date (yyyymmddThhmmssTZ)
+        * @param theDate
+        * @return w3approved datetime
+        */
+
+       public static final String date2w3DateTime (GregorianCalendar theDate) {
+               StringBuffer webdbDate = new StringBuffer();
+               webdbDate.append(String.valueOf(theDate.get(Calendar.YEAR)));
+               webdbDate.append(pad2(theDate.get(Calendar.MONTH) + 1));
+               webdbDate.append(pad2(theDate.get(Calendar.DATE)));
+               webdbDate.append("T");
+               webdbDate.append(pad2(theDate.get(Calendar.HOUR)));
+               webdbDate.append(pad2(theDate.get(Calendar.MINUTE)));
+               webdbDate.append(pad2(theDate.get(Calendar.SECOND)));
+               //assumes you are an hour-multiple away from UTC.... 
+               int offset=(theDate.get(Calendar.ZONE_OFFSET)/(60*60*1000));
+               if (offset < 0){
+               webdbDate.append("-");
+               }
+               else{
+               webdbDate.append("+");
+               }
+               webdbDate.append(pad2(Math.abs(offset)));
+               webdbDate.append("00");
+               return  webdbDate.toString();
+       }
+
+       /**
         * wandelt Calendar in dd.mm.yyyy / hh.mm um
         * @param theDate
         * @return String mit (dd.mm.yyyy / hh.mm um)
@@ -133,6 +161,28 @@ public final class StringUtil {
                }
                return returnDate.toString();
        }
+        
+        /**
+        * converts string from format: yyyy-mm-dd__hh:mm:ss.dddddd+TZ
+        * to yyyymmddThhmmss+TZ:00 (w3 format for Dublin Core)
+        */
+       public static String webdbdateToDCDate(String date) {
+               StringBuffer returnDate = new StringBuffer();
+               if (date!=null) {
+
+                       returnDate.append(date.substring(0,4));
+                       returnDate.append(date.substring(5,7));
+                       returnDate.append(date.substring(8,10));
+                       returnDate.append("T");
+                       returnDate.append(date.substring(11,13));
+                       returnDate.append(date.substring(14,16));
+                       returnDate.append(date.substring(17,19));
+                       returnDate.append(date.substring(26,29));
+                       returnDate.append(":00");
+               }
+               return returnDate.toString();
+       }
+
 
        /**
         * converts string from format: yyyy-mm-dd__hh:mm:ss.d