# Scripting Data Source - Seconds to hh:mm:ss

**URL:** <https://forum.inductiveautomation.com/t/scripting-data-source-seconds-to-hhss/92634>\
**Category:** Ignition\
**Tags:** ignition81, scripting\
**Created:** [July 1, 2024, 3:34pm UTC](https://forum.inductiveautomation.com/t/scripting-data-source-seconds-to-hhss/92634 "2024-07-01T15:34:08Z")\
**Posts on this page:** 1\
**Showing post:** 3

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [July 1, 2024, 3:54pm UTC](https://forum.inductiveautomation.com/t/scripting-data-source-seconds-to-hhss/92634/3 "2024-07-01T15:54:44Z")

</div>

You could pair the above with something like this general purpose `mapColumn` function for datasets, to update all the values in a particular column of the dataset as one operation:

> [@Can I modify an entire column from a dataset with system.dataset.setValue()?](https://forum.inductiveautomation.com/t/can-i-modify-an-entire-column-from-a-dataset-with-system-dataset-setvalue/87043/3):
>
> def mapColumn(function, dataset, column): if isinstance(column, basestring): column = dataset.getColumnIndex(column) columnData = map(function, dataset.getColumnAsList(column)) columnsToKeep = range(dataset.columnCount) columnsToKeep.pop(column) dsWithoutColumn = system.dataset.filterColumns(dataset, columnsToKeep) return system.dataset.addColumn( dsWithoutColumn, column, columnData, dataset.getColumnName(column), dataset.getColumnType(column) ) It's relatively easy to…

You get less control over the boundary conditions, but you can also use our FormatUtil internal library to achieve the same result:

> [@OPC Tag Value Seconds to HH:MM:SS via Expression Tag](https://forum.inductiveautomation.com/t/opc-tag-value-seconds-to-hhss-via-expression-tag/45544/23):
>
> Not an expression, but another option would be to do this in a script library: from java.util import Locale from com.inductiveautomation.ignition.common import FormatUtil def formatTime(time): return FormatUtil.formatDuration(Locale.getDefault(), time, FormatUtil.DurationFormatStyle.COMPACT, False) \>\>\> formatTime(1123311123) u'13d 00:01:51' \>\>\> formatTime(1123311) u'00:18:43' \>\>\> formatTime(38460) u'00:00:38' \>\>\> formatTime(38460123) u'10:41:00'

---

_[View the full topic](https://forum.inductiveautomation.com/t/scripting-data-source-seconds-to-hhss/92634)._
