# WebDev, Gateway Network, Historians

**URL:** <https://forum.inductiveautomation.com/t/webdev-gateway-network-historians/57643>\
**Category:** Ignition\
**Created:** [March 25, 2022, 2:06pm UTC](https://forum.inductiveautomation.com/t/webdev-gateway-network-historians/57643 "2022-03-25T14:06:52Z")\
**Posts on this page:** 1\
**Showing post:** 6

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [March 28, 2022, 12:43pm UTC](https://forum.inductiveautomation.com/t/webdev-gateway-network-historians/57643/6 "2022-03-28T12:43:18Z")

</div>

> [@MMaynard](#):
>
> feature request against system.tag.queryTagHistory

Won't be possible. Datasets from this function contain `java.util.Date` objects that don't have a timezone. You have to do it yourself when stringifying the result for the WebDev output. Presuming you know the target timezone, use this procedure:

> [@Update the perspective date component as per system date](https://forum.inductiveautomation.com/t/update-the-perspective-date-component-as-per-system-date/56360/6):
>
> Yes, your scripts can take the UTC milliseconds from the java.util.Date Ignition uses and make a java.time.Instant with its static method [.ofEpochMilli()](https://docs.oracle.com/javase/8/docs/api/java/time/Instant.html#ofEpochMilli-long-). Then, obtain a java.time.ZoneId, usuallly by lookup with [.of()](https://docs.oracle.com/javase/8/docs/api/java/time/ZoneId.html#of-java.lang.String-). With those two, you can obtain a java.time.ZonedDateTime with its [.ofInstant()](https://docs.oracle.com/javase/8/docs/api/java/time/ZonedDateTime.html#ofInstant-java.time.Instant-java.time.ZoneId-) method. That can then be formatted numerous ways, all respecting the given ZoneId.

---

_[View the full topic](https://forum.inductiveautomation.com/t/webdev-gateway-network-historians/57643)._
