# \[SOLVED\]I need to convert date and time format

**URL:** <https://discourse.nodered.org/t/solved-i-need-to-convert-date-and-time-format/77389>\
**Category:** General\
**Created:** [9 April 2023 16:58 UTC](https://discourse.nodered.org/t/solved-i-need-to-convert-date-and-time-format/77389 "2023-04-09T16:58:32Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![json\_lame](https://avatars.discourse-cdn.com/v4/letter/j/ee59a6/32.png) [@json\_lame](https://discourse.nodered.org/u/json_lame)\
**Post date:** [9 April 2023 16:58 UTC](https://discourse.nodered.org/t/solved-i-need-to-convert-date-and-time-format/77389/1 "2023-04-09T16:58:32Z")

</div>

I need your help, because i'm struggling with formatting date and time

The situation looks that I need year, month, day, hour and minute and I want to use node-red-contrib-iiot-ntptime for taking date and time. I need present those values as binary numbers. For example:  
-actual year: 2023, binary 0001 0111 (eliminate "20");  
-actual month: 04, binary 0100 0000;  
-actual day: 09, binary 0000 1001;  
-actual hour: 18, binary 0001 0010;  
-actual minute: 45, binary 0010 1101

Now I need to combine year+month, getting 0100 0000 0001 0111;  
day+hour: 0000 1001 0001 0010;  
minute: 0010 1101 0000 0000

At the end, these binary numbers are to be converted to decimal, so it should be 16407, 2322 and 11520.

I know it's complicated, but I have tried to describe the problem simply and in detail and hope someone will help me. Also I've tried do my own way, but all I can do is take values from ntp time and convering it into binary.

Greetings

---

<div class="post-metadata">

**Author:** ![E1cid](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/e1cid/32/77971_2.png) [@E1cid](https://discourse.nodered.org/u/E1cid)\
**Post date:** [9 April 2023 17:55 UTC](https://discourse.nodered.org/t/solved-i-need-to-convert-date-and-time-format/77389/2 "2023-04-09T17:55:41Z")

</div>

> [@json\_lame](#):
>
> -actual month: 04, binary 0100 0000;

Has me slightly confused.  
This may help.

```auto
let year = "2023", month = "04", day = "09", hour = "18", minute ="45";
let payload = `${year}-${month}-${day}T${hour}:${minute}Z`
const date_obj = new Date(payload);
let date_array = [
    (date_obj.getUTCFullYear() - 2000).toString(2).padStart(8, "0"),
    (date_obj.getUTCMonth() + 1).toString(2).padStart(4, "0").padEnd(8, "0"),
    date_obj.getUTCDate().toString(2).padStart(8, "0"),
    date_obj.getUTCHours().toString(2).padStart(8, "0"),
    date_obj.getUTCMinutes().toString(2).padStart(8, "0")  
]
node.warn(date_array);
msg.payload = {
    "year_month":parseInt(`${date_array[1]}${date_array[0]}`, 2),
    "day_hour":parseInt(`${date_array[2]}${date_array[3]}`, 2),
    "minute":parseInt(`${date_array[4]}00000000`, 2)
}
return msg;

```

 ![chrome_screenshot_1681063874838](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/c/3/c3746290911a7417e2ae8bedb61fccf749651945.jpeg)  
[edit] fixed typo.

---

<div class="post-metadata">

**Author:** ![json\_lame](https://avatars.discourse-cdn.com/v4/letter/j/ee59a6/32.png) [@json\_lame](https://discourse.nodered.org/u/json_lame)\
**Post date:** [9 April 2023 18:15 UTC](https://discourse.nodered.org/t/solved-i-need-to-convert-date-and-time-format/77389/3 "2023-04-09T18:15:21Z")

</div>

Big thanks to you, it's working well!

Greetings!

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)\
**Post date:** [23 April 2023 18:15 UTC](https://discourse.nodered.org/t/solved-i-need-to-convert-date-and-time-format/77389/4 "2023-04-23T18:15:43Z")

</div>

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.
