* Treiber, Host, User und Passwort, ueber den der Zugriff auf die
* Datenbank erfolgt.
*
- * @version $Id: Database.java,v 1.44.2.3 2003/05/26 03:29:46 zapata Exp $
+ * @version $Id: Database.java,v 1.44.2.4 2003/06/23 15:24:06 zapata Exp $
* @author rk
*
*/
private String database_url;
private int defaultLimit;
protected DatabaseAdaptor theAdaptor;
- private SimpleDateFormat _dateFormatterOut =
- new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- private SimpleDateFormat _dateFormatterIn =
- new SimpleDateFormat("yyyy-MM-dd HH:mm");
- private Calendar _cal = new GregorianCalendar();
+ TimeZone timezone;
+ SimpleDateFormat internalDateFormat;
+ SimpleDateFormat userInputDateFormat;
+/*
+ private SimpleDateFormat _dateFormatterOut;
+ private SimpleDateFormat _dateFormatterIn;
+ _dateFormatterOut = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ _dateFormatterIn = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+*/
/**
* Kontruktor bekommt den Filenamen des Konfigurationsfiles ?bergeben.
throw new StorageObjectFailure(e);
}
logger = new LoggerWrapper("Database");
+ timezone = TimeZone.getTimeZone(configuration.getString("Mir.DefaultTimezone"));
+ internalDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ internalDateFormat.setTimeZone(timezone);
+
+ userInputDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+ userInputDateFormat.setTimeZone(timezone);
+
String theAdaptorName = configuration.getString("Database.Adaptor");
defaultLimit = Integer.parseInt(configuration.getString("Database.Limit"));
if (!rs.wasNull()) {
java.util.Date date = new java.util.Date(timestamp.getTime());
- outValue = _dateFormatterOut.format(date);
- _cal.setTime(date);
-
- int offset =
- _cal.get(Calendar.ZONE_OFFSET) + _cal.get(Calendar.DST_OFFSET);
- String tzOffset =
- StringUtil.zeroPaddingNumber(offset / _millisPerHour, 2, 2);
- outValue = outValue + "+" + tzOffset;
+
+ Calendar calendar = new GregorianCalendar();
+ calendar.setTime(date);
+ calendar.setTimeZone(timezone);
+ outValue = internalDateFormat.format(date);
+
+ int offset = calendar.get(Calendar.ZONE_OFFSET) + calendar.get(Calendar.DST_OFFSET);
+ String tzOffset = StringUtil.zeroPaddingNumber(Math.abs(offset) / _millisPerHour, 2, 2);
+
+ if (offset<0)
+ outValue = outValue + "-";
+ else
+ outValue = outValue + "+";
+ outValue = outValue + tzOffset;
}
break;
// TimeStamp stuff
try {
- java.util.Date d = _dateFormatterIn.parse(dateString);
- Timestamp tStamp = new Timestamp(d.getTime());
- sql.append(",webdb_create='" + tStamp.toString() + "'");
- } catch (ParseException e) {
+ java.util.Date d = userInputDateFormat.parse(dateString);
+// Timestamp tStamp = new Timestamp(d.getTime());
+ sql.append(",webdb_create='" + JDBCStringRoutines.formatDate(d) + "'");
+ }
+ catch (ParseException e) {
throw new StorageObjectFailure(e);
}
}