manifoldcf-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bisonti Mario <Mario.Biso...@vimar.com>
Subject R: Different time in Simple History Report
Date Fri, 10 Aug 2018 09:03:55 GMT
Thanks Karl.
I tried to compile the trunk version but I obtian:

Buildfile: /home/administrator/mcfsorce/trunk/build.xml
Trying to override old definition of task javac

BUILD FAILED
/home/administrator/mcfsorce/trunk/build.xml:2929: taskdef class de.thetaphi.forbiddenapis.ant.AntTask
cannot be found
using the classloader AntClassLoader[]





Da: Karl Wright <daddywri@gmail.com>
Inviato: venerdì 10 agosto 2018 10:53
A: user@manifoldcf.apache.org
Oggetto: Re: Different time in Simple History Report

I've committed a change to trunk which will restore the pre-2016 behavior.

Karl

On Fri, Aug 10, 2018 at 3:40 AM Karl Wright <daddywri@gmail.com<mailto:daddywri@gmail.com>>
wrote:
The code that formats the time is here:

>>>>>>
    String startTimeString = org.apache.manifoldcf.ui.util.Formatter.formatTime(Converter.asLong(row.getValue("starttime")));
<<<<<<

This explicitly uses UTC as the timezone:

>>>>>>
  /** Format a long as an understandable date.
  *@param time is the long.
  *@return the date, as a human-readable string.  This date will be in local time.
  */
  public static String formatTime(long time)
  {
    Calendar c = new GregorianCalendar(TimeZone.getTimeZone("UTC"), Locale.ROOT);
    c.setTimeInMillis(time);
    // We want to format this string in a compact way:
    // mm-dd-yyyy hh:mm:ss.mmm
    StringBuilder returnString = new StringBuilder();
    writechars(returnString,c.get(Calendar.MONTH)+1,2);
    returnString.append("-");
    writechars(returnString,c.get(Calendar.DAY_OF_MONTH),2);
    returnString.append("-");
    writechars(returnString,c.get(Calendar.YEAR),4);
    returnString.append(" ");
    writechars(returnString,c.get(Calendar.HOUR_OF_DAY),2);
    returnString.append(":");
    writechars(returnString,c.get(Calendar.MINUTE),2);
    returnString.append(":");
    writechars(returnString,c.get(Calendar.SECOND),2);
    returnString.append(".");
    writechars(returnString,c.get(Calendar.MILLISECOND),3);
    return returnString.toString();
  }
<<<<<<

This was last changed:

>>>>>>
1756230    kwright     Calendar c = new GregorianCalendar(TimeZone.getTimeZone("UTC"), Locale.ROOT);
<<<<<<

The reason for the change:

>>>>>>
------------------------------------------------------------------------
r1756230 | kwright | 2016-08-12 18:20:00 -0400 (Fri, 12 Aug 2016) | 1 line

Fix for CONNECTORS-1332.  Committed on behalf of Furkan KAMACI.
<<<<<<
CONNECTORS-1332 is about calling forbidden APIS:

>>>>>>
We should avoid forbidden calls<https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fpoliceman-tools%2Fforbidden-apis%2Fwiki&data=01%7C01%7CMario.Bisonti%40vimar.com%7Caf3f9916df6b44be7f5008d5fe9eba3f%7Ca1f008bcd59b4c668f8760fd9af15c7f%7C1&sdata=3DoA3TwNmhnHDXmteYxw%2FEa7T9%2FJS3hBjuYSdX9sh6w%3D&reserved=0>
and check for it in the ant build.
<<<<<<

The actual change was:
>>>>>>
C:\wip\mcf\trunk\framework\ui-core\src\main\java\org\apache\manifoldcf\ui\util>svn diff
-c 1756230
Index: Formatter.java
===================================================================
--- Formatter.java      (revision 1756229)
+++ Formatter.java      (revision 1756230)
@@ -32,7 +32,7 @@
   */
   public static String formatTime(long time)
   {
-    Calendar c = new GregorianCalendar();
+    Calendar c = new GregorianCalendar(TimeZone.getTimeZone("UTC"), Locale.ROOT);
     c.setTimeInMillis(time);
     // We want to format this string in a compact way:
     // mm-dd-yyyy hh:mm:ss.mmm
<<<<<<


As you see, formerly the timezone was local time.  The change required an explicit timezone
in order to pass the forbidden APIs test, and UTC was used.

I am happy to try to change this since it's been this way only since 2016, if I can find a
way that will not break forbiddenAPIs.

Karl


On Fri, Aug 10, 2018 at 2:42 AM Bisonti Mario <Mario.Bisonti@vimar.com<mailto:Mario.Bisonti@vimar.com>>
wrote:
Hallo Karl.
My server timezone is set as the browser timezone (europe/Rome) as you can see, but the list
is two hour less my time zone.
So, it seems that the list uses the “universal time” instead of time zone

administrator@sengvivv01:~$ timedatectl
                      Local time: Fri 2018-08-10 08:39:28 CEST
                  Universal time: Fri 2018-08-10 06:39:28 UTC
                        RTC time: Fri 2018-08-10 06:39:28
                       Time zone: Europe/Rome (CEST, +0200)
       System clock synchronized: yes
systemd-timesyncd.service active: yes
                 RTC in local TZ: no


What could I do?
Thanks a lot



Da: Karl Wright <daddywri@gmail.com<mailto:daddywri@gmail.com>>
Inviato: giovedì 9 agosto 2018 21:36
A: user@manifoldcf.apache.org<mailto:user@manifoldcf.apache.org>
Oggetto: Re: Different time in Simple History Report

Hi Mario.

The pulldown allows you to select times based on the current (browser) time zone.

The display is in *server* timezone.  That accounts for the difference.

Karl


On Thu, Aug 9, 2018 at 10:23 AM Bisonti Mario <Mario.Bisonti@vimar.com<mailto:Mario.Bisonti@vimar.com>>
wrote:
Hallo
I see a difference from the start time in “Simple History Report”

It seems late of 2 hours.

Have I to set timezone for this report?

Thanks a lot
See the attachment


Mime
View raw message