code: @Override
      protected Timestamp eval(final Object[] _value)
          throws EFapsException
      {
          final Timestamp ret;
          if (_value == null || _value.length == 0 || _value[0] == null) {
              ret = null;
          } else  {
              DateTime dateTime = new DateTime();
              if (_value[0] instanceof Date) {
                  dateTime = new DateTime(_value[0]);
              } else if (_value[0] instanceof DateTime) {
                  dateTime = (DateTime) _value[0];
              } else if (_value[0] instanceof String) {
                  final String str = (String) _value[0];
                  if (str.length() == 10) {
                      final TemporalAccessor temp = DateTimeFormatter.ISO_LOCAL_DATE.parse(str);
                      dateTime = new DateTime().withDate(temp.get(ChronoField.YEAR),
                                      temp.get(ChronoField.MONTH_OF_YEAR), temp.get(ChronoField.DAY_OF_MONTH));
                  } else {
                      dateTime = ISODateTimeFormat.dateTime().withOffsetParsed().parseDateTime((String) _value[0]);
                  }
              }
              // until now we have a time that depends on the timezone of the application server
              // to convert it in a timestamp for the efaps database the timezone information (mainly the offset)
              // must be removed. This is done by creating a local date with the same, date and time.
              // this guarantees that the datetime inserted into the database depends on the setting
              // in the configuration and not on the timezone for the application server.
              final DateTime localized = new DateTime(dateTime.getYear(),
                                                      dateTime.getMonthOfYear(),
                                                      dateTime.getDayOfMonth(),
                                                      0,
                                                      0,
                                                      0,
                                                      0);
              ret = localized != null ? new Timestamp(localized.getMillis()) : null;
          }
          return ret;
      }
docs: The value that can be set is a Date, a DateTime or a String
  yyyy-MM-dd'T'HH:mm:ss.SSSZZ. It will be normalized to ISO Calender with
  TimeZone from SystemAttribute Admin_Common_DataBaseTimeZone. In case that
  the SystemAttribute is missing UTC will be used.
  For storing the value in the database the time is set to 00:00;
  
  @param _value value to evaluate
  @return evaluated value
  @throws EFapsException on error