# Ignition Perspective Page to show the client System date and time

**URL:** <https://forum.inductiveautomation.com/t/ignition-perspective-page-to-show-the-client-system-date-and-time/73265>\
**Category:** Ignition\
**Tags:** perspective\
**Created:** [May 4, 2023, 2:33pm UTC](https://forum.inductiveautomation.com/t/ignition-perspective-page-to-show-the-client-system-date-and-time/73265 "2023-05-04T14:33:18Z")\
**Posts on this page:** 1\
**Showing post:** 8

<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:** [May 4, 2023, 6:13pm UTC](https://forum.inductiveautomation.com/t/ignition-perspective-page-to-show-the-client-system-date-and-time/73265/8 "2023-05-04T18:13:48Z")

</div>

Sure. I recommend [DateTimeFormatter.ofPattern()](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html#ofPattern(java.lang.String)). But I would move the complexity to a project script module with a DateTimeFormatter instance with your preferred pattern saved as a top level variable. Like so, perhaps:

```auto
from java.time import ZoneId
from java.time.format import DateTimeFormatter

defaultFormatter = DateTimeFormatter.ofPattern("YYYY-MM-dd HH:mm")

def zonedFormat(ts, zoneid, format=None):
	formatter = defaultFormatter if format is None else DateTimeFormatter.ofPattern(format)
	return ts.toInstant().atZone(ZoneId.of(zoneid)).format(formatter)

```

If that is a project script named `zoneHelper`, then your transform becomes just:

```auto
return zoneHelper.zonedFormat(value, self.session.props.timeZoneId)

```

Use the optional third argument to supply a different format pattern.

---

_[View the full topic](https://forum.inductiveautomation.com/t/ignition-perspective-page-to-show-the-client-system-date-and-time/73265)._
