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 <daddy...@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://github.com/policeman-tools/forbidden-apis/wiki> 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.biso...@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 <daddy...@gmail.com>
>> *Inviato:* giovedì 9 agosto 2018 21:36
>> *A:* 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.biso...@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
>>
>>
>>
>>
>>
>>

Reply via email to