Hello,
1) Will be checked.
4) Are you sure, that you used correct TimeZone? In report we use GMT time to be sure it's the same everywhere we run the strategy. If you print the time with DateFormat, make sure you set the correct time zone before formatting the date:
DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
format.setTimeZone(TimeZone.getTimeZone("GMT"));
context.getOut().println(format.format(new Date(order.getCreationTime())));