Hello,
I have relatively easy issue I am struggling with.
I would like to calculate the time difference in seconds between the form.to and form.from set from the time picker. The dashboard beginning looks as follows:
<form>
<label>System KPI Dashboard Clone</label>
<fieldset submitButton="false" autoRun="true">
<input type="dropdown" token="sysid" searchWhenChanged="true">
<label>System</label>
<fieldForLabel>SYSYSID</fieldForLabel>
<fieldForValue>SYSYSID</fieldForValue>
<search>
<query>| dbxquery query="select distinct sysysid from sapiop.zkpic_sysreltask where hana = 'X' order by sysysid" connection="HANA_MLBSO"</query>
<earliest>-24h@h</earliest>
<latest>now</latest>
</search>
<default>ISP</default>
</input>
<input type="time" token="field1" searchWhenChanged="true">
<label>Time</label>
<default>
<earliest>-24h@h</earliest>
<latest>now</latest>
</default>
<change>
<eval token="form.from">strftime(relative_time(now(),'earliest'), "%F %T")</eval>
<eval token="form.to">strftime(relative_time(now(),'latest'), "%F %T")</eval>
<eval token="timediff">$form.to$ - "$form.from$</eval>
</change>
</input>
</fieldset>
<row>
<panel depends="$hidden$">
However the timediff does not get set.
I tried different combinations with relative_time, etc. but is seems not to get set.
How would I do it?
Kind regards,
Kamil
$form.to$ and $form.from$ are strings and you can't subtract strings. Use the integer form of each time, instead.
<eval token="timediff">relative_time(now(), 'latest') - relative_time(now(), 'earliest')</eval>
$form.to$ and $form.from$ are strings and you can't subtract strings. Use the integer form of each time, instead.
<eval token="timediff">relative_time(now(), 'latest') - relative_time(now(), 'earliest')</eval>
I solved the issue, was actually not that difficult ...
<eval token="form.from">strftime(relative_time(now(),'earliest'), "%Y-%m-%d %H:%M:%S")</eval>
<eval token="form.to">strftime(relative_time(now(),'latest'), "%Y-%m-%d %H:%M:%S")</eval>
<eval token="timediff">strptime($form.to$, "%Y-%m-%d %H:%M:%S") - strptime($form.from$, "%Y-%m-%d %H:%M:%S")</eval>