}
/**
+ * 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)
}
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