Uploaded image for project: 'OpenNMS'
  1. OpenNMS
  2. NMS-10072

Normalize date formats across the WebUI



    • Enhancement
    • Status: Resolved (View Workflow)
    • Minor
    • Resolution: Fixed
    • Meridian-2015.1.9, 21.1.0, Meridian-2016.1.12, Meridian-2017.1.7
    • Meridian-2018.1.0, 22.0.4
    • Web UI - General
    • Security Level: Default (Default Security Scheme)
    • Horizon - June 27th 2018, Horizon - July 4th 2018, Horizon - July 11th 2018, Horizon - July 18th 2018, Horizon - July 25th 2018, Horizon - August 1st 2018, Horizon - August 8th 2018, Horizon - August 15th 2018


      It is becoming ver common that the OpenNMS server, the monitored devices and the UI clients are spread out across the globe, meaning that they have different timezones.

      Recently, I was doing a consulting for a customer in South Africa, and noticed that the node page was showing events in the future. The thing is, I though it was the future because the timezone is not displayed on the UI, and the times you see on the UI are based on the OpenNMS server time using its own timezone (SAST), which in this case were different than my timezone (EST).

      Also, by convention "5/3/2018" is ambiguous. In the US, people read this date as "May 3rd 2018", but in South America and Europe, that can be read as "5th of March 2018".

      This short format is used on the node page (and dependent pages), but the rest of the UI uses a full format without timezone, for example "May 4, 2018 2:01:14 PM".

      Interestingly, the date shown at the top right corner, which is the server times shows the timezone. Also, when you are looking at the graphs (at least for latest version of Meridian and Horizon), you can also see the timezone, as having this concept in mind is crucial to understand graphs.

      I would imagine that when sending notifications, and the eventtime place holder is used, it doesn't contain the timezone; and maybe the reports based on JasperReports might suffer the same thing.

      I propose:

      1) Use a full format everywhere, similar to the current implementation but including the timezone, for example "May 4, 2018 2:01:14 PM EST".

      2) Use a "sortable" format like "2018-05-04 14:01:14 EST", which is common on databases, and in fact this is how PostgreSQL displays the dates.




            patrick.schweizer Patrick Schweizer
            agalue Alejandro Galue
            0 Vote for this issue
            5 Start watching this issue