# Separate time stamp and payload from string

**URL:** <https://discourse.nodered.org/t/separate-time-stamp-and-payload-from-string/20425>\
**Category:** General\
**Created:** [16 January 2020 07:16 UTC](https://discourse.nodered.org/t/separate-time-stamp-and-payload-from-string/20425 "2020-01-16T07:16:17Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Tarun\_pro\_hit](https://avatars.discourse-cdn.com/v4/letter/t/d07c76/32.png) [@Tarun\_pro\_hit](https://discourse.nodered.org/u/Tarun_pro_hit)\
**Post date:** [16 January 2020 07:16 UTC](https://discourse.nodered.org/t/separate-time-stamp-and-payload-from-string/20425/1 "2020-01-16T07:16:17Z")

</div>

Hello  
I working on power and some other sensor monitoring application  
My device is sending value via MQTT with a timestamp,  
something like this -- 12:38:18:128.79 where {12:38:18} is a timestamp and {128.79} is a value which needs to show in a simple chart  
Now can someone please help me in how to separate those to value and shown in the chart

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/7/6/764409960df581b681081669c750dd4f4c672e15.png)  
I am just beginner in Nod red and with basic knowledge of programming.  
Ans in little detail appreciated

Thanks in advance

---

<div class="post-metadata">

**Author:** ![Christian-Me](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/christian-me/32/10774_2.png) [@Christian-Me](https://discourse.nodered.org/u/Christian-Me)\
**Post date:** [16 January 2020 07:58 UTC](https://discourse.nodered.org/t/separate-time-stamp-and-payload-from-string/20425/2 "2020-01-16T07:58:39Z")

</div>

Welcome! Your device is sending not so “well” formatted messages but never mind.

You can use a function node using the string.split() function and take your string appart:

```auto
var parts=msg.payload.split(“:”);
msg.timeString=parts[0]+”:”+parts[1]+”:”+parts [2];
msg.payload=Number(parts[3]);
msg.timestamp= new Date();
msg.timestamp=msg.timestamp.setHours(Number(parts[0]), Number(parts[1]), Number(parts[2])).valueOf();
return msg;

```

Code not tested just typed in on my phone but give it a try.

---

<div class="post-metadata">

**Author:** ![Tarun\_pro\_hit](https://avatars.discourse-cdn.com/v4/letter/t/d07c76/32.png) [@Tarun\_pro\_hit](https://discourse.nodered.org/u/Tarun_pro_hit)\
**Post date:** [17 January 2020 08:52 UTC](https://discourse.nodered.org/t/separate-time-stamp-and-payload-from-string/20425/3 "2020-01-17T08:52:54Z")

</div>

Thanks a lot, brother !!  
For as of now i have solved issue using substring method some thing like this  
var value = msg.payload;  
value = value.substring(9,14);  
return {payload:value};

and your code is very used full to use the timestamp from payload itself!

---

<div class="post-metadata">

**Author:** ![Christian-Me](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/christian-me/32/10774_2.png) [@Christian-Me](https://discourse.nodered.org/u/Christian-Me)\
**Post date:** [17 January 2020 09:22 UTC](https://discourse.nodered.org/t/separate-time-stamp-and-payload-from-string/20425/4 "2020-01-17T09:22:26Z")

</div>

But be careful if your timestamp comes without leading zeros like “9:10:11”

```auto
var parts=msg.payload.split(“:”);
msg.payload=Number(parts[3]);
return msg;

```

Or even more safe

```auto
var parts=msg.payload.split(“:”);
msg.payload=Number(parts[parts.length-1]);
return msg;

```

Then even “5:40:123.45” will work.
