[{"data":1,"prerenderedAt":1440},["ShallowReactive",2],{"node-red-\u002Fnode-red\u002Fgetting-started\u002Fdate-and-time":3},{"id":4,"title":5,"body":6,"description":1432,"extension":1433,"meta":1434,"navigation":1435,"path":1436,"seo":1437,"stem":1438,"__hash__":1439},"nodeRed\u002Fnode-red\u002Fgetting-started\u002Fdate-and-time.md","Working with Dates and Times in Node-RED",{"type":7,"value":8,"toc":1412},"minimark",[9,17,21,24,29,41,46,61,66,132,144,148,151,171,178,181,186,198,202,212,215,219,226,230,260,273,277,327,333,337,340,558,563,588,592,595,604,610,613,621,625,635,641,647,657,660,664,670,688,694,700,709,713,718,776,780,794,797,801,804,810,814,820,834,843,847,852,870,878,882,885,941,947,951,957,963,973,976,980,983,987,996,1014,1018,1103,1108,1143,1146,1154,1158,1165,1168,1172,1175,1258,1262,1265,1398,1409],[10,11,13],"h1",{"id":12},"",[14,15],"binding",{"value":16},"meta.title",[18,19,20],"p",{},"Working with dates and times comes up constantly in Node-RED. Whether you're logging events, scheduling tasks, checking business hours, displaying the current time, or pulling historical data, it all relies on handling timestamps correctly. The best part is that you can manage all of this using visual nodes, without writing any code.",[18,22,23],{},"This documentation walks you through everything you need to know about working with dates and times in Node-RED. You'll learn how to generate timestamps, format them for display, work with different timezones, and perform time-based calculations.",[25,26,28],"h2",{"id":27},"getting-the-current-time-in-node-red","Getting the Current Time in Node-RED",[18,30,31,32,36,37,40],{},"The most straightforward way to get the current time is with the ",[33,34,35],"strong",{},"inject"," node or ",[33,38,39],{},"change"," node.",[42,43,45],"h3",{"id":44},"using-inject-and-change-nodes","Using Inject and Change Nodes",[18,47,48,49,51,52,54,55,57,58,60],{},"Both the ",[33,50,35],{}," node and ",[33,53,39],{}," node can generate timestamps. Use ",[33,56,35],{}," when you want to trigger a flow with a timestamp, and use ",[33,59,39],{}," when you need to add a timestamp to a message that's already flowing through.",[62,63,65],"h4",{"id":64},"basic-timestamp-options-step-by-step","Basic Timestamp Options (Step-by-Step):",[67,68,69,79,87,98],"ol",{},[70,71,72,73,75,76,78],"li",{},"Open an ",[33,74,35],{}," or ",[33,77,39],{}," node configuration window.",[70,80,81,82,86],{},"Locate the dropdown menu next to ",[83,84,85],"code",{},"msg.payload",".",[70,88,89,90,93,94,97],{},"Select ",[33,91,92],{},"timestamp",". This setting gives you the current time as milliseconds since the epoch (e.g., ",[83,95,96],{},"1702310400000",").",[70,99,100,101],{},"To see other formats, click the small arrow on the right side to expand more options:",[102,103,104,113,122],"ul",{},[70,105,106,109,110,112],{},[33,107,108],{},"milliseconds since epoch"," - A number representing the timestamp (",[83,111,96],{},")",[70,114,115,118,119,112],{},[33,116,117],{},"YYYY-MM-DDTHH:mm:ss.sssZ"," - An ISO 8601 string (",[83,120,121],{},"\"2024-12-11T15:45:30.000Z\"",[70,123,124,127,128,131],{},[33,125,126],{},"JavaScript Date object"," - Shows as ",[83,129,130],{},"[object Object]"," in the debug panel",[133,134,135],"blockquote",{},[18,136,137,140,141,143],{},[33,138,139],{},"Tip:"," For most work, use ",[33,142,108],{},". It's the simplest format and works everywhere.",[62,145,147],{"id":146},"using-jsonata","Using JSONata:",[18,149,150],{},"Both inject and change nodes support JSONata expressions, which gives you more control:",[102,152,153,159,165],{},[70,154,155,158],{},[83,156,157],{},"$millis()"," - Gets the current timestamp (Unix Epoch in milliseconds)",[70,160,161,164],{},[83,162,163],{},"$now()"," - Gets the current time as an ISO string",[70,166,167,170],{},[83,168,169],{},"$moment()"," - Gets a date object using the Moment library",[18,172,173,174,177],{},"In the inject\u002Fchange node, select ",[33,175,176],{},"JSONata expression"," from the payload type dropdown, then enter your expression.",[18,179,180],{},"This JSONata approach works identically in both nodes—use whichever fits your flow better.",[182,183],"render-flow",{":height":184,"flow":185},"200","W3siaWQiOiI5MzQxY2VjMWExZjllNTBlIiwidHlwZSI6Imdyb3VwIiwieiI6ImQ3MTAxZjNhNGQ0NWRlZWQiLCJuYW1lIjoiR2V0dGluZyB0aGUgQ3VycmVudCBUaW1lIGluIE5vZGUtUkVEIiwic3R5bGUiOnsibGFiZWwiOnRydWV9LCJub2RlcyI6WyI4OWNiMzBhZmI3ZmVjNDUxIiwiNTE5MzdiZWYwNjdmNTI1NyIsIjU0N2VjNGI5ZDZhMzg5YzkiXSwieCI6MTA4LCJ5Ijo3MywidyI6ODA0LCJoIjo2OTR9LHsiaWQiOiI4OWNiMzBhZmI3ZmVjNDUxIiwidHlwZSI6Imdyb3VwIiwieiI6ImQ3MTAxZjNhNGQ0NWRlZWQiLCJnIjoiOTM0MWNlYzFhMWY5ZTUwZSIsIm5hbWUiOiJVc2luZyBDaGFuZ2Ugbm9kZSAoIEpTT05hdGEgICkiLCJzdHlsZSI6eyJsYWJlbCI6dHJ1ZX0sIm5vZGVzIjpbImI1YmRmZDFiMmEzYjljMjciLCI0NDRkMTdjMzJiOGJkMWMxIiwiMjc2ZTBmY2Y2MDdjOTQ0ZCIsIjA3ZmJjODNmODk1YjdhYTQiLCJhYzhlNWUyOGE4OTZmNTJjIiwiOGQ0MTQzZmI4MzYxYzQ2OSIsImFmZjUyOGM2NGI5NTY4YWQiXSwieCI6MTM0LCJ5Ijo1MzksInciOjc1MiwiaCI6MjAyfSx7ImlkIjoiYjViZGZkMWIyYTNiOWMyNyIsInR5cGUiOiJpbmplY3QiLCJ6IjoiZDcxMDFmM2E0ZDQ1ZGVlZCIsImciOiI4OWNiMzBhZmI3ZmVjNDUxIiwibmFtZSI6IkluamVjdCIsInByb3BzIjpbXSwicmVwZWF0IjoiIiwiY3JvbnRhYiI6IiIsIm9uY2UiOmZhbHNlLCJvbmNlRGVsYXkiOjAuMSwidG9waWMiOiIiLCJ4IjoyMzAsInkiOjY0MCwid2lyZXMiOltbIjQ0NGQxN2MzMmI4YmQxYzEiLCIyNzZlMGZjZjYwN2M5NDRkIiwiMDdmYmM4M2Y4OTViN2FhNCJdXX0seyJpZCI6IjQ0NGQxN2MzMmI4YmQxYzEiLCJ0eXBlIjoiY2hhbmdlIiwieiI6ImQ3MTAxZjNhNGQ0NWRlZWQiLCJnIjoiODljYjMwYWZiN2ZlYzQ1MSIsIm5hbWUiOiJtaWxsaXNlY29uZHMgc2luY2UgZXBvY2giLCJydWxlcyI6W3sidCI6InNldCIsInAiOiJwYXlsb2FkIiwicHQiOiJtc2ciLCJ0byI6IiRtaWxsaXMoKSIsInRvdCI6Impzb25hdGEifV0sImFjdGlvbiI6IiIsInByb3BlcnR5IjoiIiwiZnJvbSI6IiIsInRvIjoiIiwicmVnIjpmYWxzZSwieCI6NDkwLCJ5Ijo1ODAsIndpcmVzIjpbWyJhYzhlNWUyOGE4OTZmNTJjIl1dfSx7ImlkIjoiMjc2ZTBmY2Y2MDdjOTQ0ZCIsInR5cGUiOiJjaGFuZ2UiLCJ6IjoiZDcxMDFmM2E0ZDQ1ZGVlZCIsImciOiI4OWNiMzBhZmI3ZmVjNDUxIiwibmFtZSI6IllZWVktTU0tRERUSEg6bW06c3Muc3NzWiIsInJ1bGVzIjpbeyJ0Ijoic2V0IiwicCI6InBheWxvYWQiLCJwdCI6Im1zZyIsInRvIjoiJG5vdygpIiwidG90IjoianNvbmF0YSJ9XSwiYWN0aW9uIjoiIiwicHJvcGVydHkiOiIiLCJmcm9tIjoiIiwidG8iOiIiLCJyZWciOmZhbHNlLCJ4Ijo1MjAsInkiOjY0MCwid2lyZXMiOltbIjhkNDE0M2ZiODM2MWM0NjkiXV19LHsiaWQiOiIwN2ZiYzgzZjg5NWI3YWE0IiwidHlwZSI6ImNoYW5nZSIsInoiOiJkNzEwMWYzYTRkNDVkZWVkIiwiZyI6Ijg5Y2IzMGFmYjdmZWM0NTEiLCJuYW1lIjoiSmF2YVNjcmlwdCBEYXRlIG9iamVjdCIsInJ1bGVzIjpbeyJ0Ijoic2V0IiwicCI6InBheWxvYWQiLCJwdCI6Im1zZyIsInRvIjoiJG1vbWVudCgpIiwidG90IjoianNvbmF0YSJ9XSwiYWN0aW9uIjoiIiwicHJvcGVydHkiOiIiLCJmcm9tIjoiIiwidG8iOiIiLCJyZWciOmZhbHNlLCJ4Ijo0OTAsInkiOjcwMCwid2lyZXMiOltbImFmZjUyOGM2NGI5NTY4YWQiXV19LHsiaWQiOiJhYzhlNWUyOGE4OTZmNTJjIiwidHlwZSI6ImRlYnVnIiwieiI6ImQ3MTAxZjNhNGQ0NWRlZWQiLCJnIjoiODljYjMwYWZiN2ZlYzQ1MSIsIm5hbWUiOiJSZXN1bHQiLCJhY3RpdmUiOnRydWUsInRvc2lkZWJhciI6dHJ1ZSwiY29uc29sZSI6ZmFsc2UsInRvc3RhdHVzIjpmYWxzZSwiY29tcGxldGUiOiJwYXlsb2FkIiwidGFyZ2V0VHlwZSI6Im1zZyIsInN0YXR1c1ZhbCI6IiIsInN0YXR1c1R5cGUiOiJhdXRvIiwieCI6NzgwLCJ5Ijo1ODAsIndpcmVzIjpbXX0seyJpZCI6IjhkNDE0M2ZiODM2MWM0NjkiLCJ0eXBlIjoiZGVidWciLCJ6IjoiZDcxMDFmM2E0ZDQ1ZGVlZCIsImciOiI4OWNiMzBhZmI3ZmVjNDUxIiwibmFtZSI6IlJlc3VsdCIsImFjdGl2ZSI6dHJ1ZSwidG9zaWRlYmFyIjp0cnVlLCJjb25zb2xlIjpmYWxzZSwidG9zdGF0dXMiOmZhbHNlLCJjb21wbGV0ZSI6InBheWxvYWQiLCJ0YXJnZXRUeXBlIjoibXNnIiwic3RhdHVzVmFsIjoiIiwic3RhdHVzVHlwZSI6ImF1dG8iLCJ4Ijo3ODAsInkiOjY0MCwid2lyZXMiOltdfSx7ImlkIjoiYWZmNTI4YzY0Yjk1NjhhZCIsInR5cGUiOiJkZWJ1ZyIsInoiOiJkNzEwMWYzYTRkNDVkZWVkIiwiZyI6Ijg5Y2IzMGFmYjdmZWM0NTEiLCJuYW1lIjoiUmVzdWx0IiwiYWN0aXZlIjp0cnVlLCJ0b3NpZGViYXIiOnRydWUsImNvbnNvbGUiOmZhbHNlLCJ0b3N0YXR1cyI6ZmFsc2UsImNvbXBsZXRlIjoicGF5bG9hZCIsInRhcmdldFR5cGUiOiJtc2ciLCJzdGF0dXNWYWwiOiIiLCJzdGF0dXNUeXBlIjoiYXV0byIsIngiOjc4MCwieSI6NzAwLCJ3aXJlcyI6W119LHsiaWQiOiI1MTkzN2JlZjA2N2Y1MjU3IiwidHlwZSI6Imdyb3VwIiwieiI6ImQ3MTAxZjNhNGQ0NWRlZWQiLCJnIjoiOTM0MWNlYzFhMWY5ZTUwZSIsIm5hbWUiOiJVc2luZyBDaGFuZ2Ugbm9kZSAoIFRpbWVzdGFtcCBvcHRpb24gKSIsInN0eWxlIjp7ImxhYmVsIjp0cnVlfSwibm9kZXMiOlsiMzc1ZDE0M2Q0ODY5NWQzNyIsIjcyZmNiYTgxNWZhNWNmZGQiLCI0ZTUwZTBhMmU0MzZiNjU4IiwiZDQxYWE2MWI0NTZiZDNhMSIsImY1YmVjOTUxMWJjOGY3N2YiLCI5ZDNmYjdiODlhZGFmYThkIiwiN2U2MGZiMjI0ZTRmZjc0NyJdLCJ4IjoxMzQsInkiOjMxOSwidyI6NzUyLCJoIjoyMDJ9LHsiaWQiOiIzNzVkMTQzZDQ4Njk1ZDM3IiwidHlwZSI6ImluamVjdCIsInoiOiJkNzEwMWYzYTRkNDVkZWVkIiwiZyI6IjUxOTM3YmVmMDY3ZjUyNTciLCJuYW1lIjoiSW5qZWN0IiwicHJvcHMiOltdLCJyZXBlYXQiOiIiLCJjcm9udGFiIjoiIiwib25jZSI6ZmFsc2UsIm9uY2VEZWxheSI6MC4xLCJ0b3BpYyI6IiIsIngiOjIzMCwieSI6NDIwLCJ3aXJlcyI6W1siNzJmY2JhODE1ZmE1Y2ZkZCIsIjRlNTBlMGEyZTQzNmI2NTgiLCJkNDFhYTYxYjQ1NmJkM2ExIl1dfSx7ImlkIjoiNzJmY2JhODE1ZmE1Y2ZkZCIsInR5cGUiOiJjaGFuZ2UiLCJ6IjoiZDcxMDFmM2E0ZDQ1ZGVlZCIsImciOiI1MTkzN2JlZjA2N2Y1MjU3IiwibmFtZSI6Im1pbGxpc2Vjb25kcyBzaW5jZSBlcG9jaCIsInJ1bGVzIjpbeyJ0Ijoic2V0IiwicCI6InBheWxvYWQiLCJwdCI6Im1zZyIsInRvIjoiIiwidG90IjoiZGF0ZSJ9XSwiYWN0aW9uIjoiIiwicHJvcGVydHkiOiIiLCJmcm9tIjoiIiwidG8iOiIiLCJyZWciOmZhbHNlLCJ4Ijo0OTAsInkiOjM2MCwid2lyZXMiOltbImY1YmVjOTUxMWJjOGY3N2YiXV19LHsiaWQiOiI0ZTUwZTBhMmU0MzZiNjU4IiwidHlwZSI6ImNoYW5nZSIsInoiOiJkNzEwMWYzYTRkNDVkZWVkIiwiZyI6IjUxOTM3YmVmMDY3ZjUyNTciLCJuYW1lIjoiWVlZWS1NTS1ERFRISDptbTpzcy5zc3NaIiwicnVsZXMiOlt7InQiOiJzZXQiLCJwIjoicGF5bG9hZCIsInB0IjoibXNnIiwidG8iOiJpc28iLCJ0b3QiOiJkYXRlIn1dLCJhY3Rpb24iOiIiLCJwcm9wZXJ0eSI6IiIsImZyb20iOiIiLCJ0byI6IiIsInJlZyI6ZmFsc2UsIngiOjUyMCwieSI6NDIwLCJ3aXJlcyI6W1siOWQzZmI3Yjg5YWRhZmE4ZCJdXX0seyJpZCI6ImQ0MWFhNjFiNDU2YmQzYTEiLCJ0eXBlIjoiY2hhbmdlIiwieiI6ImQ3MTAxZjNhNGQ0NWRlZWQiLCJnIjoiNTE5MzdiZWYwNjdmNTI1NyIsIm5hbWUiOiJKYXZhU2NyaXB0IERhdGUgb2JqZWN0IiwicnVsZXMiOlt7InQiOiJzZXQiLCJwIjoicGF5bG9hZCIsInB0IjoibXNnIiwidG8iOiJvYmplY3QiLCJ0b3QiOiJkYXRlIn1dLCJhY3Rpb24iOiIiLCJwcm9wZXJ0eSI6IiIsImZyb20iOiIiLCJ0byI6IiIsInJlZyI6ZmFsc2UsIngiOjQ5MCwieSI6NDgwLCJ3aXJlcyI6W1siN2U2MGZiMjI0ZTRmZjc0NyJdXX0seyJpZCI6ImY1YmVjOTUxMWJjOGY3N2YiLCJ0eXBlIjoiZGVidWciLCJ6IjoiZDcxMDFmM2E0ZDQ1ZGVlZCIsImciOiI1MTkzN2JlZjA2N2Y1MjU3IiwibmFtZSI6IlJlc3VsdCIsImFjdGl2ZSI6dHJ1ZSwidG9zaWRlYmFyIjp0cnVlLCJjb25zb2xlIjpmYWxzZSwidG9zdGF0dXMiOmZhbHNlLCJjb21wbGV0ZSI6InBheWxvYWQiLCJ0YXJnZXRUeXBlIjoibXNnIiwic3RhdHVzVmFsIjoiIiwic3RhdHVzVHlwZSI6ImF1dG8iLCJ4Ijo3ODAsInkiOjM2MCwid2lyZXMiOltdfSx7ImlkIjoiOWQzZmI3Yjg5YWRhZmE4ZCIsInR5cGUiOiJkZWJ1ZyIsInoiOiJkNzEwMWYzYTRkNDVkZWVkIiwiZyI6IjUxOTM3YmVmMDY3ZjUyNTciLCJuYW1lIjoiUmVzdWx0IiwiYWN0aXZlIjp0cnVlLCJ0b3NpZGViYXIiOnRydWUsImNvbnNvbGUiOmZhbHNlLCJ0b3N0YXR1cyI6ZmFsc2UsImNvbXBsZXRlIjoicGF5bG9hZCIsInRhcmdldFR5cGUiOiJtc2ciLCJzdGF0dXNWYWwiOiIiLCJzdGF0dXNUeXBlIjoiYXV0byIsIngiOjc4MCwieSI6NDIwLCJ3aXJlcyI6W119LHsiaWQiOiI3ZTYwZmIyMjRlNGZmNzQ3IiwidHlwZSI6ImRlYnVnIiwieiI6ImQ3MTAxZjNhNGQ0NWRlZWQiLCJnIjoiNTE5MzdiZWYwNjdmNTI1NyIsIm5hbWUiOiJSZXN1bHQiLCJhY3RpdmUiOnRydWUsInRvc2lkZWJhciI6dHJ1ZSwiY29uc29sZSI6ZmFsc2UsInRvc3RhdHVzIjpmYWxzZSwiY29tcGxldGUiOiJwYXlsb2FkIiwidGFyZ2V0VHlwZSI6Im1zZyIsInN0YXR1c1ZhbCI6IiIsInN0YXR1c1R5cGUiOiJhdXRvIiwieCI6NzgwLCJ5Ijo0ODAsIndpcmVzIjpbXX0seyJpZCI6IjU0N2VjNGI5ZDZhMzg5YzkiLCJ0eXBlIjoiZ3JvdXAiLCJ6IjoiZDcxMDFmM2E0ZDQ1ZGVlZCIsImciOiI5MzQxY2VjMWExZjllNTBlIiwibmFtZSI6IlVzaW5nIEluamVjdCBOb2RlcyAoIFRpbWVzdGFtcCBPcHRpb24gKSIsInN0eWxlIjp7ImxhYmVsIjp0cnVlfSwibm9kZXMiOlsiNDk5YWI1ODE1MzdmNTU5OCIsImI5YmQ0ZmRjMmY0MjRjYmYiLCJiOTY5ZGI5MjMxOTM1NWYzIiwiY2NjOTY5Y2QxZWQ4NWVkYSIsImFiMTc4ZTRlMzEwOWY5YjAiLCJjZGIwY2ZkODc5ODQ2NDIwIl0sIngiOjEzNCwieSI6OTksInciOjc1MiwiaCI6MjAyfSx7ImlkIjoiNDk5YWI1ODE1MzdmNTU5OCIsInR5cGUiOiJpbmplY3QiLCJ6IjoiZDcxMDFmM2E0ZDQ1ZGVlZCIsImciOiI1NDdlYzRiOWQ2YTM4OWM5IiwibmFtZSI6Im1pbGxpc2Vjb25kcyBzaW5jZSBlcG9jaCIsInByb3BzIjpbeyJwIjoicGF5bG9hZCJ9XSwicmVwZWF0IjoiIiwiY3JvbnRhYiI6IiIsIm9uY2UiOmZhbHNlLCJvbmNlRGVsYXkiOjAuMSwidG9waWMiOiIiLCJwYXlsb2FkIjoiIiwicGF5bG9hZFR5cGUiOiJkYXRlIiwieCI6MzEwLCJ5IjoxNDAsIndpcmVzIjpbWyJiOWJkNGZkYzJmNDI0Y2JmIl1dfSx7ImlkIjoiYjliZDRmZGMyZjQyNGNiZiIsInR5cGUiOiJkZWJ1ZyIsInoiOiJkNzEwMWYzYTRkNDVkZWVkIiwiZyI6IjU0N2VjNGI5ZDZhMzg5YzkiLCJuYW1lIjoiUmVzdWx0IiwiYWN0aXZlIjp0cnVlLCJ0b3NpZGViYXIiOnRydWUsImNvbnNvbGUiOmZhbHNlLCJ0b3N0YXR1cyI6ZmFsc2UsImNvbXBsZXRlIjoicGF5bG9hZCIsInRhcmdldFR5cGUiOiJtc2ciLCJzdGF0dXNWYWwiOiIiLCJzdGF0dXNUeXBlIjoiYXV0byIsIngiOjc4MCwieSI6MTQwLCJ3aXJlcyI6W119LHsiaWQiOiJiOTY5ZGI5MjMxOTM1NWYzIiwidHlwZSI6ImluamVjdCIsInoiOiJkNzEwMWYzYTRkNDVkZWVkIiwiZyI6IjU0N2VjNGI5ZDZhMzg5YzkiLCJuYW1lIjoiWVlZWS1NTS1ERFRISDptbTpzcy5zc3NaIiwicHJvcHMiOlt7InAiOiJwYXlsb2FkIn1dLCJyZXBlYXQiOiIiLCJjcm9udGFiIjoiIiwib25jZSI6ZmFsc2UsIm9uY2VEZWxheSI6MC4xLCJ0b3BpYyI6IiIsInBheWxvYWQiOiJpc28iLCJwYXlsb2FkVHlwZSI6ImRhdGUiLCJ4IjozNDAsInkiOjIwMCwid2lyZXMiOltbImNjYzk2OWNkMWVkODVlZGEiXV19LHsiaWQiOiJjY2M5NjljZDFlZDg1ZWRhIiwidHlwZSI6ImRlYnVnIiwieiI6ImQ3MTAxZjNhNGQ0NWRlZWQiLCJnIjoiNTQ3ZWM0YjlkNmEzODljOSIsIm5hbWUiOiJSZXN1bHQiLCJhY3RpdmUiOnRydWUsInRvc2lkZWJhciI6dHJ1ZSwiY29uc29sZSI6ZmFsc2UsInRvc3RhdHVzIjpmYWxzZSwiY29tcGxldGUiOiJwYXlsb2FkIiwidGFyZ2V0VHlwZSI6Im1zZyIsInN0YXR1c1ZhbCI6IiIsInN0YXR1c1R5cGUiOiJhdXRvIiwieCI6NzgwLCJ5IjoyMDAsIndpcmVzIjpbXX0seyJpZCI6ImFiMTc4ZTRlMzEwOWY5YjAiLCJ0eXBlIjoiaW5qZWN0IiwieiI6ImQ3MTAxZjNhNGQ0NWRlZWQiLCJnIjoiNTQ3ZWM0YjlkNmEzODljOSIsIm5hbWUiOiJKYXZhU2NyaXB0IERhdGUgb2JqZWN0IiwicHJvcHMiOlt7InAiOiJwYXlsb2FkIn1dLCJyZXBlYXQiOiIiLCJjcm9udGFiIjoiIiwib25jZSI6ZmFsc2UsIm9uY2VEZWxheSI6MC4xLCJ0b3BpYyI6IiIsInBheWxvYWQiOiJvYmplY3QiLCJwYXlsb2FkVHlwZSI6ImRhdGUiLCJ4IjozMDAsInkiOjI2MCwid2lyZXMiOltbImNkYjBjZmQ4Nzk4NDY0MjAiXV19LHsiaWQiOiJjZGIwY2ZkODc5ODQ2NDIwIiwidHlwZSI6ImRlYnVnIiwieiI6ImQ3MTAxZjNhNGQ0NWRlZWQiLCJnIjoiNTQ3ZWM0YjlkNmEzODljOSIsIm5hbWUiOiJSZXN1bHQiLCJhY3RpdmUiOnRydWUsInRvc2lkZWJhciI6dHJ1ZSwiY29uc29sZSI6ZmFsc2UsInRvc3RhdHVzIjpmYWxzZSwiY29tcGxldGUiOiJwYXlsb2FkIiwidGFyZ2V0VHlwZSI6Im1zZyIsInN0YXR1c1ZhbCI6IiIsInN0YXR1c1R5cGUiOiJhdXRvIiwieCI6NzgwLCJ5IjoyNjAsIndpcmVzIjpbXX1d",[133,187,188],{},[18,189,190,191,86],{},"For more advanced date\u002Ftime operations and formatting, see the ",[192,193,197],"a",{"href":194,"rel":195},"https:\u002F\u002Fdocs.jsonata.org\u002Fdate-time-functions",[196],"nofollow","JSONata documentation",[25,199,201],{"id":200},"formatting-dates-for-display","Formatting Dates for Display",[18,203,204,205,207,208,211],{},"Raw timestamps like ",[83,206,96],{}," or ISO strings like ",[83,209,210],{},"2024-12-11T15:45:30.000Z"," work great for machines, but people need something readable: \"December 11, 2024\" or \"3:45 PM\" or \"5 minutes ago.\"",[18,213,214],{},"Node-RED gives you two excellent options: the moment nodes for heavy lifting, and JSONata for quick, built-in one-offs.",[42,216,218],{"id":217},"the-moment-nodes","The Moment Nodes",[18,220,221,222,225],{},"The Moment node handles formatting, timezones, relative time, and date math. It is built on the popular ",[33,223,224],{},"Moment.js"," library.",[62,227,229],{"id":228},"installation","Installation",[67,231,232,235,241,248,254],{},[70,233,234],{},"Click the menu in the top-right corner (the three horizontal lines).",[70,236,89,237,240],{},[33,238,239],{},"Manage palette"," from the dropdown.",[70,242,243,244,247],{},"Open the ",[33,245,246],{},"Install"," tab.",[70,249,250,251,86],{},"Search for ",[83,252,253],{},"node-red-contrib-moment",[70,255,256,257,259],{},"Click ",[33,258,246],{}," next to the package.",[18,261,262,263,266,267,270,271,40],{},"Once installed, you’ll see two new nodes in the palette: ",[33,264,265],{},"Date\u002FTime Formatter"," and ",[33,268,269],{},"Humanizer",". For this documentation, we’ll be using the ",[33,272,265],{},[62,274,276],{"id":275},"your-first-format","Your First Format",[67,278,279,285,305,315,324],{},[70,280,281,282,284],{},"Drag a ",[33,283,265],{}," node onto the canvas and double-click to open its configuration.",[70,286,287,288,291,292,294,295,298,299,302,303,97],{},"Look at the three key fields: ",[33,289,290],{},"Input"," (where your date lives, usually ",[83,293,85],{},"), ",[33,296,297],{},"Output Format"," (your pattern), and ",[33,300,301],{},"Output"," (where the result goes, usually ",[83,304,85],{},[70,306,307,308,311,312,86],{},"Type this into the ",[33,309,310],{},"Format"," field: ",[83,313,314],{},"MMMM D, YYYY",[70,316,317,318,320,321,323],{},"Connect an inject node (set to timestamp) to the ",[33,319,265],{}," node, then connect the ",[33,322,265],{}," node to a debug node.",[70,325,326],{},"Click the inject button.",[18,328,329,330,86],{},"The debug panel will show something like ",[83,331,332],{},"\"December 11, 2024\"",[62,334,336],{"id":335},"format-patterns","Format Patterns",[18,338,339],{},"The letters in your format string are placeholders that get replaced with parts of the date. You can mix them however you want.",[341,342,343,363],"table",{},[344,345,346],"thead",{},[347,348,349,354,357,360],"tr",{},[350,351,353],"th",{"align":352},"left","Category",[350,355,356],{"align":352},"Code",[350,358,359],{"align":352},"Example (Dec 11, 2024 at 3:45 PM)",[350,361,362],{"align":352},"Description",[364,365,366,385,400,418,433,448,466,480,495,513,528,543],"tbody",{},[347,367,368,374,379,382],{},[369,370,371],"td",{"align":352},[33,372,373],{},"Years",[369,375,376],{"align":352},[83,377,378],{},"YYYY",[369,380,381],{"align":352},"2024",[369,383,384],{"align":352},"Full year",[347,386,387,389,394,397],{},[369,388],{"align":352},[369,390,391],{"align":352},[83,392,393],{},"YY",[369,395,396],{"align":352},"24",[369,398,399],{"align":352},"Two-digit year",[347,401,402,407,412,415],{},[369,403,404],{"align":352},[33,405,406],{},"Months",[369,408,409],{"align":352},[83,410,411],{},"MMMM",[369,413,414],{"align":352},"December",[369,416,417],{"align":352},"Full month name",[347,419,420,422,427,430],{},[369,421],{"align":352},[369,423,424],{"align":352},[83,425,426],{},"MMM",[369,428,429],{"align":352},"Dec",[369,431,432],{"align":352},"Short month name",[347,434,435,437,442,445],{},[369,436],{"align":352},[369,438,439],{"align":352},[83,440,441],{},"MM",[369,443,444],{"align":352},"12",[369,446,447],{"align":352},"Month number (leading zero)",[347,449,450,455,460,463],{},[369,451,452],{"align":352},[33,453,454],{},"Days",[369,456,457],{"align":352},[83,458,459],{},"DD",[369,461,462],{"align":352},"11",[369,464,465],{"align":352},"Day of month (leading zero)",[347,467,468,470,475,477],{},[369,469],{"align":352},[369,471,472],{"align":352},[83,473,474],{},"D",[369,476,462],{"align":352},[369,478,479],{"align":352},"Day of month (no leading zero)",[347,481,482,484,489,492],{},[369,483],{"align":352},[369,485,486],{"align":352},[83,487,488],{},"dddd",[369,490,491],{"align":352},"Wednesday",[369,493,494],{"align":352},"Full day name",[347,496,497,502,507,510],{},[369,498,499],{"align":352},[33,500,501],{},"Time",[369,503,504],{"align":352},[83,505,506],{},"HH",[369,508,509],{"align":352},"15",[369,511,512],{"align":352},"24-hour clock (leading zero)",[347,514,515,517,522,525],{},[369,516],{"align":352},[369,518,519],{"align":352},[83,520,521],{},"hh",[369,523,524],{"align":352},"03",[369,526,527],{"align":352},"12-hour clock (leading zero)",[347,529,530,532,537,540],{},[369,531],{"align":352},[369,533,534],{"align":352},[83,535,536],{},"mm",[369,538,539],{"align":352},"45",[369,541,542],{"align":352},"Minutes (leading zero)",[347,544,545,547,552,555],{},[369,546],{"align":352},[369,548,549],{"align":352},[83,550,551],{},"A",[369,553,554],{"align":352},"PM",[369,556,557],{"align":352},"AM\u002FPM marker (uppercase)",[18,559,560],{},[33,561,562],{},"Common Patterns:",[102,564,565,571,576,582],{},[70,566,567,570],{},[83,568,569],{},"YYYY-MM-DD"," → 2024-12-11 (Good for logs and databases)",[70,572,573,575],{},[83,574,314],{}," → December 11, 2024 (Formal style)",[70,577,578,581],{},[83,579,580],{},"h:mm A"," → 3:45 PM (Standard time)",[70,583,584,587],{},[83,585,586],{},"HH:mm:ss"," → 15:45:30 (24-hour time)",[62,589,591],{"id":590},"adding-custom-text","Adding Custom Text",[18,593,594],{},"You can include literal text in your format by wrapping it in square brackets. The text inside the brackets will appear exactly as you wrote it.",[596,597,602],"pre",{"className":598,"code":600,"language":601},[599],"language-text","MMMM D, YYYY [at] h:mm A\n","text",[83,603,600],{"__ignoreMap":12},[18,605,606,607,86],{},"This gives you something like ",[33,608,609],{},"\"December 11, 2024 at 3:45 PM\"",[18,611,612],{},"More examples:",[102,614,615],{},[70,616,617,620],{},[83,618,619],{},"[Last updated:] MMM D [at] h:mm A"," → Last updated: Dec 11 at 3:45 PM",[62,622,624],{"id":623},"relative-time","Relative Time",[18,626,627,628,631,632,634],{},"Sometimes you want to show how long ago something happened instead of the exact time. If you want ",[33,629,630],{},"\"5 minutes ago\""," instead of a specific time, put this in the ",[33,633,297],{}," field:",[596,636,639],{"className":637,"code":638,"language":601},[599],"fromNow\n",[83,640,638],{"__ignoreMap":12},[18,642,643,644,646],{},"The ",[33,645,265],{}," node will calculate the time difference and give you results like:",[102,648,649,652,654],{},[70,650,651],{},"\"a few seconds ago\"",[70,653,630],{},[70,655,656],{},"\"3 days ago\"",[18,658,659],{},"This works really well for activity feeds, notifications, or any \"last updated\" display.",[42,661,663],{"id":662},"jsonata-formatting","JSONata Formatting",[18,665,666,667,669],{},"If you don't want to add another node to your flow, you can use JSONata instead. It's already built into the ",[33,668,39],{}," node, so you don't need to install anything.",[67,671,672,680,685],{},[70,673,674,675,677,678,86],{},"Open a ",[33,676,39],{}," node and set it to modify ",[83,679,85],{},[70,681,682,683,86],{},"In the \"to\" dropdown, pick ",[33,684,176],{},[70,686,687],{},"Use JSONata's date functions to format your timestamp.",[18,689,690,691,693],{},"Basic syntax for a timestamp in ",[83,692,85],{},":",[596,695,698],{"className":696,"code":697,"language":601},[599],"$fromMillis(payload, '[M]\u002F[D]\u002F[Y]')\n",[83,699,697],{"__ignoreMap":12},[18,701,702,703,705,706,86],{},"This takes the timestamp in ",[83,704,85],{}," and converts it to ",[33,707,708],{},"\"12\u002F11\u002F2024\"",[62,710,712],{"id":711},"jsonata-codes","JSONata Codes",[18,714,715,716,40],{},"JSONata uses square brackets, but the codes are different from the ",[33,717,265],{},[102,719,720,729,743,755,764,770],{},[70,721,722,75,725,728],{},[83,723,724],{},"[Y]",[83,726,727],{},"[Y0001]"," → 2024 (Year)",[70,730,731,75,734,737,738,742],{},[83,732,733],{},"[M]",[83,735,736],{},"[M01]"," → 12 (Month; use ",[739,740,741],"span",{},"M01"," to force a leading zero)",[70,744,745,75,748,751,752,742],{},[83,746,747],{},"[D]",[83,749,750],{},"[D01]"," → 11 (Day of month; use ",[739,753,754],{},"D01",[70,756,757,75,760,763],{},[83,758,759],{},"[h]",[83,761,762],{},"[h01]"," → 3 (12-hour)",[70,765,766,769],{},[83,767,768],{},"[m01]"," → 45 (Minutes, with leading zero for 0–9)",[70,771,772,775],{},[83,773,774],{},"[P]"," → AM or PM",[18,777,778],{},[33,779,562],{},[102,781,782,788],{},[70,783,784,787],{},[83,785,786],{},"$fromMillis(payload, '[M]\u002F[D]\u002F[Y]')"," → 12\u002F11\u002F2024",[70,789,790,793],{},[83,791,792],{},"$fromMillis(payload, '[h]:[m01] [P]')"," → 3:45 PM",[182,795],{":height":184,"flow":796},"W3siaWQiOiIxZThhMTExMGQzNmQzZjMzIiwidHlwZSI6Imdyb3VwIiwieiI6ImQ3MTAxZjNhNGQ0NWRlZWQiLCJuYW1lIjoiRm9ybWF0dGluZyBEYXRlcyBmb3IgRGlzcGxheSIsInN0eWxlIjp7ImxhYmVsIjp0cnVlfSwibm9kZXMiOlsiZjAxOWMyZjVlZDlkODEwNCIsIjE2OTk1NzcxNTAxNjdlYjUiXSwieCI6MTA4LCJ5Ijo3OTMsInciOjgwNCwiaCI6NDE0fSx7ImlkIjoiZjAxOWMyZjVlZDlkODEwNCIsInR5cGUiOiJncm91cCIsInoiOiJkNzEwMWYzYTRkNDVkZWVkIiwiZyI6IjFlOGExMTEwZDM2ZDNmMzMiLCJuYW1lIjoiVGhlIE1vbWVudCBOb2RlcyIsInN0eWxlIjp7ImxhYmVsIjp0cnVlfSwibm9kZXMiOlsiYmQwNjU2NTc2NTE0MTg2OCIsIjg5OGIyM2ZhNTFmOTVlZGYiLCJmNzM0ZDllODk3OWIyMGIyIiwiZjNhM2E1YTk5NzQ4MTZkMyIsIjJkZTk1MzAwZWUwNzAyNzYiLCJkNWYzZDhhZWFhZWZmYTdkIiwiYjcxM2IxOTZiNDhjNjJkMyJdLCJ4IjoxMzQsInkiOjgxOSwidyI6NzUyLCJoIjoyMDJ9LHsiaWQiOiJiZDA2NTY1NzY1MTQxODY4IiwidHlwZSI6Im1vbWVudCIsInoiOiJkNzEwMWYzYTRkNDVkZWVkIiwiZyI6ImYwMTljMmY1ZWQ5ZDgxMDQiLCJuYW1lIjoiTU1NTSBELCBZWVlZIiwidG9waWMiOiIiLCJpbnB1dCI6InBheWxvYWQiLCJpbnB1dFR5cGUiOiJtc2ciLCJpblR6IjoiQWZyaWNhL0FiaWRqYW4iLCJhZGpBbW91bnQiOjAsImFkalR5cGUiOiJkYXlzIiwiYWRqRGlyIjoiYWRkIiwiZm9ybWF0IjoiTU1NTSBELCBZWVlZIiwibG9jYWxlIjoiZW4tVVMiLCJvdXRwdXQiOiJwYXlsb2FkIiwib3V0cHV0VHlwZSI6Im1zZyIsIm91dFR6IjoiQWZyaWNhL0FiaWRqYW4iLCJ4Ijo0NjAsInkiOjg2MCwid2lyZXMiOltbIjg5OGIyM2ZhNTFmOTVlZGYiXV19LHsiaWQiOiI4OThiMjNmYTUxZjk1ZWRmIiwidHlwZSI6ImRlYnVnIiwieiI6ImQ3MTAxZjNhNGQ0NWRlZWQiLCJnIjoiZjAxOWMyZjVlZDlkODEwNCIsIm5hbWUiOiJSZXN1bHQiLCJhY3RpdmUiOnRydWUsInRvc2lkZWJhciI6dHJ1ZSwiY29uc29sZSI6ZmFsc2UsInRvc3RhdHVzIjpmYWxzZSwiY29tcGxldGUiOiJwYXlsb2FkIiwidGFyZ2V0VHlwZSI6Im1zZyIsInN0YXR1c1ZhbCI6IiIsInN0YXR1c1R5cGUiOiJhdXRvIiwieCI6NzgwLCJ5Ijo4NjAsIndpcmVzIjpbXX0seyJpZCI6ImY3MzRkOWU4OTc5YjIwYjIiLCJ0eXBlIjoiaW5qZWN0IiwieiI6ImQ3MTAxZjNhNGQ0NWRlZWQiLCJnIjoiZjAxOWMyZjVlZDlkODEwNCIsIm5hbWUiOiIiLCJwcm9wcyI6W3sicCI6InBheWxvYWQifV0sInJlcGVhdCI6IiIsImNyb250YWIiOiIiLCJvbmNlIjpmYWxzZSwib25jZURlbGF5IjowLjEsInRvcGljIjoiIiwicGF5bG9hZCI6IiIsInBheWxvYWRUeXBlIjoiZGF0ZSIsIngiOjI1MCwieSI6OTIwLCJ3aXJlcyI6W1siZjNhM2E1YTk5NzQ4MTZkMyIsImQ1ZjNkOGFlYWFlZmZhN2QiLCJiZDA2NTY1NzY1MTQxODY4Il1dfSx7ImlkIjoiZjNhM2E1YTk5NzQ4MTZkMyIsInR5cGUiOiJtb21lbnQiLCJ6IjoiZDcxMDFmM2E0ZDQ1ZGVlZCIsImciOiJmMDE5YzJmNWVkOWQ4MTA0IiwibmFtZSI6Ik1NTU0gRCwgWVlZWSBbYXRdIGg6bW0gQSIsInRvcGljIjoiIiwiaW5wdXQiOiJwYXlsb2FkIiwiaW5wdXRUeXBlIjoibXNnIiwiaW5UeiI6IkFmcmljYS9BYmlkamFuIiwiYWRqQW1vdW50IjowLCJhZGpUeXBlIjoiZGF5cyIsImFkakRpciI6ImFkZCIsImZvcm1hdCI6Ik1NTU0gRCwgWVlZWSBbYXRdIGg6bW0gQSIsImxvY2FsZSI6ImVuLVVTIiwib3V0cHV0IjoicGF5bG9hZCIsIm91dHB1dFR5cGUiOiJtc2ciLCJvdXRUeiI6IkFmcmljYS9BYmlkamFuIiwieCI6NTEwLCJ5Ijo5MjAsIndpcmVzIjpbWyIyZGU5NTMwMGVlMDcwMjc2Il1dfSx7ImlkIjoiMmRlOTUzMDBlZTA3MDI3NiIsInR5cGUiOiJkZWJ1ZyIsInoiOiJkNzEwMWYzYTRkNDVkZWVkIiwiZyI6ImYwMTljMmY1ZWQ5ZDgxMDQiLCJuYW1lIjoiUmVzdWx0IiwiYWN0aXZlIjp0cnVlLCJ0b3NpZGViYXIiOnRydWUsImNvbnNvbGUiOmZhbHNlLCJ0b3N0YXR1cyI6ZmFsc2UsImNvbXBsZXRlIjoicGF5bG9hZCIsInRhcmdldFR5cGUiOiJtc2ciLCJzdGF0dXNWYWwiOiIiLCJzdGF0dXNUeXBlIjoiYXV0byIsIngiOjc4MCwieSI6OTIwLCJ3aXJlcyI6W119LHsiaWQiOiJkNWYzZDhhZWFhZWZmYTdkIiwidHlwZSI6Im1vbWVudCIsInoiOiJkNzEwMWYzYTRkNDVkZWVkIiwiZyI6ImYwMTljMmY1ZWQ5ZDgxMDQiLCJuYW1lIjoiZnJvbU5vdyIsInRvcGljIjoiIiwiaW5wdXQiOiJwYXlsb2FkIiwiaW5wdXRUeXBlIjoibXNnIiwiaW5UeiI6IkFmcmljYS9BYmlkamFuIiwiYWRqQW1vdW50IjowLCJhZGpUeXBlIjoiZGF5cyIsImFkakRpciI6ImFkZCIsImZvcm1hdCI6ImZyb21Ob3ciLCJsb2NhbGUiOiJlbi1VUyIsIm91dHB1dCI6InBheWxvYWQiLCJvdXRwdXRUeXBlIjoibXNnIiwib3V0VHoiOiJBZnJpY2EvQWJpZGphbiIsIngiOjQzMCwieSI6OTgwLCJ3aXJlcyI6W1siYjcxM2IxOTZiNDhjNjJkMyJdXX0seyJpZCI6ImI3MTNiMTk2YjQ4YzYyZDMiLCJ0eXBlIjoiZGVidWciLCJ6IjoiZDcxMDFmM2E0ZDQ1ZGVlZCIsImciOiJmMDE5YzJmNWVkOWQ4MTA0IiwibmFtZSI6IlJlc3VsdCIsImFjdGl2ZSI6dHJ1ZSwidG9zaWRlYmFyIjp0cnVlLCJjb25zb2xlIjpmYWxzZSwidG9zdGF0dXMiOmZhbHNlLCJjb21wbGV0ZSI6InBheWxvYWQiLCJ0YXJnZXRUeXBlIjoibXNnIiwic3RhdHVzVmFsIjoiIiwic3RhdHVzVHlwZSI6ImF1dG8iLCJ4Ijo3ODAsInkiOjk4MCwid2lyZXMiOltdfSx7ImlkIjoiMTY5OTU3NzE1MDE2N2ViNSIsInR5cGUiOiJncm91cCIsInoiOiJkNzEwMWYzYTRkNDVkZWVkIiwiZyI6IjFlOGExMTEwZDM2ZDNmMzMiLCJuYW1lIjoiSlNPTmF0YSBGb3JtYXR0aW5nIiwic3R5bGUiOnsibGFiZWwiOnRydWV9LCJub2RlcyI6WyI2NzhmMTNhOWZhZDljMzk3IiwiY2Y4MTBjYmQzMDFmZGRiMCIsIjk0NDNjYjMzZWE0MmUyNWIiLCIyNTViMTM1MDMyODYyODE2IiwiMmQzYjlhZWU4YjBlYmU1YiJdLCJ4IjoxMzQsInkiOjEwMzksInciOjc1MiwiaCI6MTQyfSx7ImlkIjoiNjc4ZjEzYTlmYWQ5YzM5NyIsInR5cGUiOiJpbmplY3QiLCJ6IjoiZDcxMDFmM2E0ZDQ1ZGVlZCIsImciOiIxNjk5NTc3MTUwMTY3ZWI1IiwibmFtZSI6IiIsInByb3BzIjpbeyJwIjoicGF5bG9hZCJ9XSwicmVwZWF0IjoiIiwiY3JvbnRhYiI6IiIsIm9uY2UiOmZhbHNlLCJvbmNlRGVsYXkiOjAuMSwidG9waWMiOiIiLCJwYXlsb2FkIjoiIiwicGF5bG9hZFR5cGUiOiJkYXRlIiwieCI6MjUwLCJ5IjoxMTIwLCJ3aXJlcyI6W1siY2Y4MTBjYmQzMDFmZGRiMCIsIjJkM2I5YWVlOGIwZWJlNWIiXV19LHsiaWQiOiJjZjgxMGNiZDMwMWZkZGIwIiwidHlwZSI6ImNoYW5nZSIsInoiOiJkNzEwMWYzYTRkNDVkZWVkIiwiZyI6IjE2OTk1NzcxNTAxNjdlYjUiLCJuYW1lIjoiJGZyb21NaWxsaXMocGF5bG9hZCwgJ1tNXS9bRF0vW1ldJykiLCJydWxlcyI6W3sidCI6InNldCIsInAiOiJwYXlsb2FkIiwicHQiOiJtc2ciLCJ0byI6IiRmcm9tTWlsbGlzKHBheWxvYWQsICdbTV0vW0RdL1tZXScpIiwidG90IjoianNvbmF0YSJ9XSwiYWN0aW9uIjoiIiwicHJvcGVydHkiOiIiLCJmcm9tIjoiIiwidG8iOiIiLCJyZWciOmZhbHNlLCJ4Ijo1MjAsInkiOjEwODAsIndpcmVzIjpbWyI5NDQzY2IzM2VhNDJlMjViIl1dfSx7ImlkIjoiOTQ0M2NiMzNlYTQyZTI1YiIsInR5cGUiOiJkZWJ1ZyIsInoiOiJkNzEwMWYzYTRkNDVkZWVkIiwiZyI6IjE2OTk1NzcxNTAxNjdlYjUiLCJuYW1lIjoiUmVzdWx0IiwiYWN0aXZlIjp0cnVlLCJ0b3NpZGViYXIiOnRydWUsImNvbnNvbGUiOmZhbHNlLCJ0b3N0YXR1cyI6ZmFsc2UsImNvbXBsZXRlIjoicGF5bG9hZCIsInRhcmdldFR5cGUiOiJtc2ciLCJzdGF0dXNWYWwiOiIiLCJzdGF0dXNUeXBlIjoiYXV0byIsIngiOjc4MCwieSI6MTA4MCwid2lyZXMiOltdfSx7ImlkIjoiMjU1YjEzNTAzMjg2MjgxNiIsInR5cGUiOiJkZWJ1ZyIsInoiOiJkNzEwMWYzYTRkNDVkZWVkIiwiZyI6IjE2OTk1NzcxNTAxNjdlYjUiLCJuYW1lIjoiUmVzdWx0IiwiYWN0aXZlIjp0cnVlLCJ0b3NpZGViYXIiOnRydWUsImNvbnNvbGUiOmZhbHNlLCJ0b3N0YXR1cyI6ZmFsc2UsImNvbXBsZXRlIjoicGF5bG9hZCIsInRhcmdldFR5cGUiOiJtc2ciLCJzdGF0dXNWYWwiOiIiLCJzdGF0dXNUeXBlIjoiYXV0byIsIngiOjc4MCwieSI6MTE0MCwid2lyZXMiOltdfSx7ImlkIjoiMmQzYjlhZWU4YjBlYmU1YiIsInR5cGUiOiJjaGFuZ2UiLCJ6IjoiZDcxMDFmM2E0ZDQ1ZGVlZCIsImciOiIxNjk5NTc3MTUwMTY3ZWI1IiwibmFtZSI6IiRmcm9tTWlsbGlzKHBheWxvYWQsICdbaF06W20wMV0gW1BdJykiLCJydWxlcyI6W3sidCI6InNldCIsInAiOiJwYXlsb2FkIiwicHQiOiJtc2ciLCJ0byI6IiRmcm9tTWlsbGlzKHBheWxvYWQsICdbaF06W20wMV0gW1BdJykiLCJ0b3QiOiJqc29uYXRhIn1dLCJhY3Rpb24iOiIiLCJwcm9wZXJ0eSI6IiIsImZyb20iOiIiLCJ0byI6IiIsInJlZyI6ZmFsc2UsIngiOjUzMCwieSI6MTE0MCwid2lyZXMiOltbIjI1NWIxMzUwMzI4NjI4MTYiXV19LHsiaWQiOiI1ZTk3YTg2MjEzYjkwNmJmIiwidHlwZSI6Imdsb2JhbC1jb25maWciLCJlbnYiOltdLCJtb2R1bGVzIjp7Im5vZGUtcmVkLWNvbnRyaWItbW9tZW50IjoiNS4wLjAifX1d",[25,798,800],{"id":799},"handling-time-zones","Handling Time Zones",[18,802,803],{},"When you're working inside Node-RED, the timezone for any operation follows the system timezone of the machine running Node-RED. If your server is in New York, timestamps will show Eastern time. If it's in London, you'll see GMT\u002FBST.",[18,805,806,807,809],{},"But what if you need to display times in a different timezone? The ",[33,808,265],{}," node handles all of this.",[42,811,813],{"id":812},"converting-to-a-different-timezone","Converting to a Different Timezone",[18,815,816,817,819],{},"Open your ",[33,818,265],{}," node and you'll see two timezone fields:",[102,821,822,828],{},[70,823,824,827],{},[33,825,826],{},"Input Timezone"," - The timezone your timestamp is currently in.",[70,829,830,833],{},[33,831,832],{},"Output Timezone"," - The timezone you want to convert to.",[18,835,836,837,75,840,86],{},"Type in the timezone you want—like ",[83,838,839],{},"America\u002FNew_York",[83,841,842],{},"Asia\u002FTokyo",[62,844,846],{"id":845},"finding-timezone-names","Finding Timezone Names:",[18,848,643,849,851],{},[33,850,265],{}," node uses the IANA timezone database. These are names like:",[102,853,854,859,865],{},[70,855,856,858],{},[83,857,839],{}," (Eastern time)",[70,860,861,864],{},[83,862,863],{},"Europe\u002FLondon"," (GMT\u002FBST)",[70,866,867,869],{},[83,868,842],{}," (Japan time)",[18,871,872,873,86],{},"You can find the complete list at ",[192,874,877],{"href":875,"rel":876},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FList_of_tz_database_time_zones",[196],"wikipedia.org\u002Fwiki\u002FList_of_tz_database_time_zones",[42,879,881],{"id":880},"working-example","Working Example",[18,883,884],{},"Let's display the current time in three different timezones:",[67,886,887,894,900,909,932],{},[70,888,889,890,893],{},"Add an ",[33,891,892],{},"Inject"," node (set to timestamp).",[70,895,896,897,899],{},"Add three ",[33,898,265],{}," nodes after it.",[70,901,902,903,905,906],{},"Set a common ",[33,904,297],{}," in all three: ",[83,907,908],{},"MMMM D, YYYY h:mm A z",[70,910,911,912,914,915],{},"Set the ",[33,913,832],{}," in each:\n",[102,916,917,922,927],{},[70,918,919,920],{},"First node: ",[83,921,839],{},[70,923,924,925],{},"Second node: ",[83,926,863],{},[70,928,929,930],{},"Third node: ",[83,931,842],{},[70,933,934,935,938,939,40],{},"Connect a ",[33,936,937],{},"debug"," node to each ",[33,940,265],{},[18,942,943,944,946],{},"When you click ",[33,945,892],{},", you’ll see the formatted time in three different timezones.",[42,948,950],{"id":949},"jsonata-timezone-handling","JSONata Timezone Handling",[18,952,953,954,693],{},"JSONata can also handle timezones by providing the offset in the third parameter of ",[83,955,956],{},"$fromMillis()",[596,958,961],{"className":959,"code":960,"language":601},[599],"$fromMillis(payload, '[M]\u002F[D]\u002F[Y] [h]:[m01] [P]', '-0500')\n",[83,962,960],{"__ignoreMap":12},[18,964,965,966,969,970,972],{},"The offset is a string like ",[83,967,968],{},"-0500"," (5 hours behind UTC). This works, but you have to know the offset and manage daylight saving time yourself. The ",[33,971,265],{}," node handles all of that automatically.",[182,974],{":height":184,"flow":975},"W3siaWQiOiI4OTRmYjlkM2RkZmExNGQ3IiwidHlwZSI6Imdyb3VwIiwieiI6ImQ3MTAxZjNhNGQ0NWRlZWQiLCJuYW1lIjoiSGFuZGxpbmcgVGltZSBab25lcyIsInN0eWxlIjp7ImxhYmVsIjp0cnVlfSwibm9kZXMiOlsiNGQ3MzViMWY3MWY3OTE4OSIsIjBjMzFiYjk3NWQxNjYxMjgiXSwieCI6MTA4LCJ5IjoxMjMzLCJ3Ijo4MDQsImgiOjQ3NH0seyJpZCI6IjRkNzM1YjFmNzFmNzkxODkiLCJ0eXBlIjoiZ3JvdXAiLCJ6IjoiZDcxMDFmM2E0ZDQ1ZGVlZCIsImciOiI4OTRmYjlkM2RkZmExNGQ3IiwibmFtZSI6IkNvbnZlcnRpbmcgdG8gYSBEaWZmZXJlbnQgVGltZXpvbmUgVXNpbmcgTW9tZW50IG5vZGVzIiwic3R5bGUiOnsibGFiZWwiOnRydWV9LCJub2RlcyI6WyI5OTVjZjA1NDhhYzY2YWYxIiwiOTYzZGIxZDgzOGMxYTM0ZCIsImZhZWZkMjVlMjY4ZjY4ZTkiLCI5MjU5ZWJmZDEzN2ExNmIwIiwiMzJmMmI4MjllN2E2ZGU4NCIsIjZhNGEyNzI0MDFkNDVlNjEiLCI0OGJmMzkyN2UxNzU5MDRjIl0sIngiOjEzNCwieSI6MTI1OSwidyI6NzUyLCJoIjoyMDJ9LHsiaWQiOiI5OTVjZjA1NDhhYzY2YWYxIiwidHlwZSI6ImluamVjdCIsInoiOiJkNzEwMWYzYTRkNDVkZWVkIiwiZyI6IjRkNzM1YjFmNzFmNzkxODkiLCJuYW1lIjoiIiwicHJvcHMiOlt7InAiOiJwYXlsb2FkIn1dLCJyZXBlYXQiOiIiLCJjcm9udGFiIjoiIiwib25jZSI6ZmFsc2UsIm9uY2VEZWxheSI6MC4xLCJ0b3BpYyI6IiIsInBheWxvYWQiOiIiLCJwYXlsb2FkVHlwZSI6ImRhdGUiLCJ4IjoyNTAsInkiOjEzNjAsIndpcmVzIjpbWyI5NjNkYjFkODM4YzFhMzRkIiwiNmE0YTI3MjQwMWQ0NWU2MSIsIjQ4YmYzOTI3ZTE3NTkwNGMiXV19LHsiaWQiOiI5NjNkYjFkODM4YzFhMzRkIiwidHlwZSI6Im1vbWVudCIsInoiOiJkNzEwMWYzYTRkNDVkZWVkIiwiZyI6IjRkNzM1YjFmNzFmNzkxODkiLCJuYW1lIjoiQW1lcmljYS9OZXdfWW9yayIsInRvcGljIjoiIiwiaW5wdXQiOiJwYXlsb2FkIiwiaW5wdXRUeXBlIjoibXNnIiwiaW5UeiI6IkFmcmljYS9BYmlkamFuIiwiYWRqQW1vdW50IjowLCJhZGpUeXBlIjoiZGF5cyIsImFkakRpciI6ImFkZCIsImZvcm1hdCI6Ik1NTU0gRCwgWVlZWSBoOm1tIEEgeiIsImxvY2FsZSI6ImVuLVVTIiwib3V0cHV0IjoicGF5bG9hZCIsIm91dHB1dFR5cGUiOiJtc2ciLCJvdXRUeiI6IkFtZXJpY2EvTmV3X1lvcmsiLCJ4Ijo0NzAsInkiOjEzMDAsIndpcmVzIjpbWyJmYWVmZDI1ZTI2OGY2OGU5Il1dfSx7ImlkIjoiZmFlZmQyNWUyNjhmNjhlOSIsInR5cGUiOiJkZWJ1ZyIsInoiOiJkNzEwMWYzYTRkNDVkZWVkIiwiZyI6IjRkNzM1YjFmNzFmNzkxODkiLCJuYW1lIjoiUmVzdWx0IiwiYWN0aXZlIjp0cnVlLCJ0b3NpZGViYXIiOnRydWUsImNvbnNvbGUiOmZhbHNlLCJ0b3N0YXR1cyI6ZmFsc2UsImNvbXBsZXRlIjoicGF5bG9hZCIsInRhcmdldFR5cGUiOiJtc2ciLCJzdGF0dXNWYWwiOiIiLCJzdGF0dXNUeXBlIjoiYXV0byIsIngiOjc4MCwieSI6MTMwMCwid2lyZXMiOltdfSx7ImlkIjoiOTI1OWViZmQxMzdhMTZiMCIsInR5cGUiOiJkZWJ1ZyIsInoiOiJkNzEwMWYzYTRkNDVkZWVkIiwiZyI6IjRkNzM1YjFmNzFmNzkxODkiLCJuYW1lIjoiUmVzdWx0IiwiYWN0aXZlIjp0cnVlLCJ0b3NpZGViYXIiOnRydWUsImNvbnNvbGUiOmZhbHNlLCJ0b3N0YXR1cyI6ZmFsc2UsImNvbXBsZXRlIjoicGF5bG9hZCIsInRhcmdldFR5cGUiOiJtc2ciLCJzdGF0dXNWYWwiOiIiLCJzdGF0dXNUeXBlIjoiYXV0byIsIngiOjc4MCwieSI6MTM2MCwid2lyZXMiOltdfSx7ImlkIjoiMzJmMmI4MjllN2E2ZGU4NCIsInR5cGUiOiJkZWJ1ZyIsInoiOiJkNzEwMWYzYTRkNDVkZWVkIiwiZyI6IjRkNzM1YjFmNzFmNzkxODkiLCJuYW1lIjoiUmVzdWx0IiwiYWN0aXZlIjp0cnVlLCJ0b3NpZGViYXIiOnRydWUsImNvbnNvbGUiOmZhbHNlLCJ0b3N0YXR1cyI6ZmFsc2UsImNvbXBsZXRlIjoicGF5bG9hZCIsInRhcmdldFR5cGUiOiJtc2ciLCJzdGF0dXNWYWwiOiIiLCJzdGF0dXNUeXBlIjoiYXV0byIsIngiOjc4MCwieSI6MTQyMCwid2lyZXMiOltdfSx7ImlkIjoiNmE0YTI3MjQwMWQ0NWU2MSIsInR5cGUiOiJtb21lbnQiLCJ6IjoiZDcxMDFmM2E0ZDQ1ZGVlZCIsImciOiI0ZDczNWIxZjcxZjc5MTg5IiwibmFtZSI6IkV1cm9wZS9Mb25kb24iLCJ0b3BpYyI6IiIsImlucHV0IjoicGF5bG9hZCIsImlucHV0VHlwZSI6Im1zZyIsImluVHoiOiJBZnJpY2EvQWJpZGphbiIsImFkakFtb3VudCI6MCwiYWRqVHlwZSI6ImRheXMiLCJhZGpEaXIiOiJhZGQiLCJmb3JtYXQiOiJNTU1NIEQsIFlZWVkgaDptbSBBIHoiLCJsb2NhbGUiOiJlbi1VUyIsIm91dHB1dCI6InBheWxvYWQiLCJvdXRwdXRUeXBlIjoibXNnIiwib3V0VHoiOiJFdXJvcGUvTG9uZG9uIiwieCI6NDYwLCJ5IjoxMzYwLCJ3aXJlcyI6W1siOTI1OWViZmQxMzdhMTZiMCJdXX0seyJpZCI6IjQ4YmYzOTI3ZTE3NTkwNGMiLCJ0eXBlIjoibW9tZW50IiwieiI6ImQ3MTAxZjNhNGQ0NWRlZWQiLCJnIjoiNGQ3MzViMWY3MWY3OTE4OSIsIm5hbWUiOiJBc2lhL1Rva3lvIiwidG9waWMiOiIiLCJpbnB1dCI6InBheWxvYWQiLCJpbnB1dFR5cGUiOiJtc2ciLCJpblR6IjoiQWZyaWNhL0FiaWRqYW4iLCJhZGpBbW91bnQiOjAsImFkalR5cGUiOiJkYXlzIiwiYWRqRGlyIjoiYWRkIiwiZm9ybWF0IjoiTU1NTSBELCBZWVlZIGg6bW0gQSB6IiwibG9jYWxlIjoiZW4tVVMiLCJvdXRwdXQiOiJwYXlsb2FkIiwib3V0cHV0VHlwZSI6Im1zZyIsIm91dFR6IjoiQXNpYS9Ub2t5byIsIngiOjQ0MCwieSI6MTQyMCwid2lyZXMiOltbIjMyZjJiODI5ZTdhNmRlODQiXV19LHsiaWQiOiIwYzMxYmI5NzVkMTY2MTI4IiwidHlwZSI6Imdyb3VwIiwieiI6ImQ3MTAxZjNhNGQ0NWRlZWQiLCJnIjoiODk0ZmI5ZDNkZGZhMTRkNyIsIm5hbWUiOiJDb252ZXJ0aW5nIHRvIGEgRGlmZmVyZW50IFRpbWV6b25lIFVzaW5nIEpTT05hdGEiLCJzdHlsZSI6eyJsYWJlbCI6dHJ1ZX0sIm5vZGVzIjpbImVlNzgyMmYyNGEyNzkyY2IiLCIwYTAwNmM5ZTg3NjU2Y2ZjIiwiMzExMjJiNzIyN2RiOGNlNyIsImM2MmM3ZTdiM2I0NTBlODUiLCI2ZGZkZTk4M2M3Njg5NGMzIiwiNzRlMzdhN2NjMjA4MDIzOCIsImYwYzc4NmU2ZGIzMGZmYWQiXSwieCI6MTM0LCJ5IjoxNDc5LCJ3Ijo3NTIsImgiOjIwMn0seyJpZCI6ImVlNzgyMmYyNGEyNzkyY2IiLCJ0eXBlIjoiaW5qZWN0IiwieiI6ImQ3MTAxZjNhNGQ0NWRlZWQiLCJnIjoiMGMzMWJiOTc1ZDE2NjEyOCIsIm5hbWUiOiIiLCJwcm9wcyI6W3sicCI6InBheWxvYWQifV0sInJlcGVhdCI6IiIsImNyb250YWIiOiIiLCJvbmNlIjpmYWxzZSwib25jZURlbGF5IjowLjEsInRvcGljIjoiIiwicGF5bG9hZCI6IiIsInBheWxvYWRUeXBlIjoiZGF0ZSIsIngiOjI1MCwieSI6MTU4MCwid2lyZXMiOltbIjZkZmRlOTgzYzc2ODk0YzMiLCI3NGUzN2E3Y2MyMDgwMjM4IiwiZjBjNzg2ZTZkYjMwZmZhZCJdXX0seyJpZCI6IjBhMDA2YzllODc2NTZjZmMiLCJ0eXBlIjoiZGVidWciLCJ6IjoiZDcxMDFmM2E0ZDQ1ZGVlZCIsImciOiIwYzMxYmI5NzVkMTY2MTI4IiwibmFtZSI6IlJlc3VsdCIsImFjdGl2ZSI6dHJ1ZSwidG9zaWRlYmFyIjp0cnVlLCJjb25zb2xlIjpmYWxzZSwidG9zdGF0dXMiOmZhbHNlLCJjb21wbGV0ZSI6InBheWxvYWQiLCJ0YXJnZXRUeXBlIjoibXNnIiwic3RhdHVzVmFsIjoiIiwic3RhdHVzVHlwZSI6ImF1dG8iLCJ4Ijo3ODAsInkiOjE1MjAsIndpcmVzIjpbXX0seyJpZCI6IjMxMTIyYjcyMjdkYjhjZTciLCJ0eXBlIjoiZGVidWciLCJ6IjoiZDcxMDFmM2E0ZDQ1ZGVlZCIsImciOiIwYzMxYmI5NzVkMTY2MTI4IiwibmFtZSI6IlJlc3VsdCIsImFjdGl2ZSI6dHJ1ZSwidG9zaWRlYmFyIjp0cnVlLCJjb25zb2xlIjpmYWxzZSwidG9zdGF0dXMiOmZhbHNlLCJjb21wbGV0ZSI6InBheWxvYWQiLCJ0YXJnZXRUeXBlIjoibXNnIiwic3RhdHVzVmFsIjoiIiwic3RhdHVzVHlwZSI6ImF1dG8iLCJ4Ijo3ODAsInkiOjE1ODAsIndpcmVzIjpbXX0seyJpZCI6ImM2MmM3ZTdiM2I0NTBlODUiLCJ0eXBlIjoiZGVidWciLCJ6IjoiZDcxMDFmM2E0ZDQ1ZGVlZCIsImciOiIwYzMxYmI5NzVkMTY2MTI4IiwibmFtZSI6IlJlc3VsdCIsImFjdGl2ZSI6dHJ1ZSwidG9zaWRlYmFyIjp0cnVlLCJjb25zb2xlIjpmYWxzZSwidG9zdGF0dXMiOmZhbHNlLCJjb21wbGV0ZSI6InBheWxvYWQiLCJ0YXJnZXRUeXBlIjoibXNnIiwic3RhdHVzVmFsIjoiIiwic3RhdHVzVHlwZSI6ImF1dG8iLCJ4Ijo3ODAsInkiOjE2NDAsIndpcmVzIjpbXX0seyJpZCI6IjZkZmRlOTgzYzc2ODk0YzMiLCJ0eXBlIjoiY2hhbmdlIiwieiI6ImQ3MTAxZjNhNGQ0NWRlZWQiLCJnIjoiMGMzMWJiOTc1ZDE2NjEyOCIsIm5hbWUiOiJBbWVyaWNhL05ld19Zb3JrICggV2ludGVyICkiLCJydWxlcyI6W3sidCI6InNldCIsInAiOiJwYXlsb2FkIiwicHQiOiJtc2ciLCJ0byI6IiRmcm9tTWlsbGlzKHBheWxvYWQsICdbTV0vW0RdL1tZXSBbaF06W20wMV0gW1BdJywgJy0wNTAwJykiLCJ0b3QiOiJqc29uYXRhIn1dLCJhY3Rpb24iOiIiLCJwcm9wZXJ0eSI6IiIsImZyb20iOiIiLCJ0byI6IiIsInJlZyI6ZmFsc2UsIngiOjUxMCwieSI6MTUyMCwid2lyZXMiOltbIjBhMDA2YzllODc2NTZjZmMiXV19LHsiaWQiOiI3NGUzN2E3Y2MyMDgwMjM4IiwidHlwZSI6ImNoYW5nZSIsInoiOiJkNzEwMWYzYTRkNDVkZWVkIiwiZyI6IjBjMzFiYjk3NWQxNjYxMjgiLCJuYW1lIjoiRXVyb3BlL0xvbmRvbiAoIFdpbnRlciApIiwicnVsZXMiOlt7InQiOiJzZXQiLCJwIjoicGF5bG9hZCIsInB0IjoibXNnIiwidG8iOiIkZnJvbU1pbGxpcyhwYXlsb2FkLCAnW01dL1tEXS9bWV0gW2hdOlttMDFdIFtQXScsICcrMDAwMCcpIiwidG90IjoianNvbmF0YSJ9XSwiYWN0aW9uIjoiIiwicHJvcGVydHkiOiIiLCJmcm9tIjoiIiwidG8iOiIiLCJyZWciOmZhbHNlLCJ4Ijo0OTAsInkiOjE1ODAsIndpcmVzIjpbWyIzMTEyMmI3MjI3ZGI4Y2U3Il1dfSx7ImlkIjoiZjBjNzg2ZTZkYjMwZmZhZCIsInR5cGUiOiJjaGFuZ2UiLCJ6IjoiZDcxMDFmM2E0ZDQ1ZGVlZCIsImciOiIwYzMxYmI5NzVkMTY2MTI4IiwibmFtZSI6IkFzaWEvVG9reW8gKCBXaW50ZXIgKSIsInJ1bGVzIjpbeyJ0Ijoic2V0IiwicCI6InBheWxvYWQiLCJwdCI6Im1zZyIsInRvIjoiJGZyb21NaWxsaXMocGF5bG9hZCwgJ1tNXS9bRF0vW1ldIFtoXTpbbTAxXSBbUF0nLCAnKzA5MDAnKSIsInRvdCI6Impzb25hdGEifV0sImFjdGlvbiI6IiIsInByb3BlcnR5IjoiIiwiZnJvbSI6IiIsInRvIjoiIiwicmVnIjpmYWxzZSwieCI6NDgwLCJ5IjoxNjQwLCJ3aXJlcyI6W1siYzYyYzdlN2IzYjQ1MGU4NSJdXX0seyJpZCI6ImRjYjI4MDZiZGQwOTkxNzMiLCJ0eXBlIjoiZ2xvYmFsLWNvbmZpZyIsImVudiI6W10sIm1vZHVsZXMiOnsibm9kZS1yZWQtY29udHJpYi1tb21lbnQiOiI1LjAuMCJ9fV0=",[25,977,979],{"id":978},"doing-math-with-dates","Doing Math with Dates",[18,981,982],{},"You'll need date calculations for things like historical dashboards showing the last 7 days of data or checking how many days until a deadline.",[42,984,986],{"id":985},"adding-and-subtracting-time","Adding and Subtracting Time",[18,988,243,989,991,992,995],{},[33,990,265],{}," node and you'll see the ",[33,993,994],{},"Adjustment"," field. This lets you modify the incoming date by a specific unit of time.",[102,997,998,1007],{},[70,999,1000,1001,75,1004,86],{},"On the left, there's a dropdown for ",[83,1002,1003],{},"+",[83,1005,1006],{},"-",[70,1008,1009,1010,1013],{},"On the right, there's a dropdown with units: ",[33,1011,1012],{},"days, hours, minutes, weeks, months, years,"," etc.",[62,1015,1017],{"id":1016},"adjustment-examples","Adjustment Examples:",[341,1019,1020,1036],{},[344,1021,1022],{},[347,1023,1024,1027,1030,1033],{},[350,1025,1026],{"align":352},"Goal",[350,1028,1029],{"align":352},"Operation",[350,1031,1032],{"align":352},"Value",[350,1034,1035],{"align":352},"Unit",[364,1037,1038,1055,1070,1087],{},[347,1039,1040,1045,1049,1052],{},[369,1041,1042],{"align":352},[33,1043,1044],{},"Tomorrow",[369,1046,1047],{"align":352},[83,1048,1003],{},[369,1050,1051],{"align":352},"1",[369,1053,1054],{"align":352},"days",[347,1056,1057,1062,1066,1068],{},[369,1058,1059],{"align":352},[33,1060,1061],{},"Yesterday",[369,1063,1064],{"align":352},[83,1065,1006],{},[369,1067,1051],{"align":352},[369,1069,1054],{"align":352},[347,1071,1072,1077,1081,1084],{},[369,1073,1074],{"align":352},[33,1075,1076],{},"2 hours ago",[369,1078,1079],{"align":352},[83,1080,1006],{},[369,1082,1083],{"align":352},"2",[369,1085,1086],{"align":352},"hours",[347,1088,1089,1094,1098,1101],{},[369,1090,1091],{"align":352},[33,1092,1093],{},"Next week",[369,1095,1096],{"align":352},[83,1097,1003],{},[369,1099,1100],{"align":352},"7",[369,1102,1054],{"align":352},[18,1104,1105],{},[33,1106,1107],{},"How to Set it Up:",[67,1109,1110,1118,1123,1129,1136],{},[70,1111,1112,1113,1115,1116,97],{},"Drag an ",[33,1114,892],{}," node onto the workspace (set payload to ",[33,1117,92],{},[70,1119,934,1120,1122],{},[33,1121,265],{}," node and double-click to open it.",[70,1124,1125,1126,97],{},"Configure your desired adjustment (e.g., ",[83,1127,1128],{},"+ 1 days",[70,1130,911,1131,1133,1134,86],{},[33,1132,297],{}," field, maybe to ",[83,1135,569],{},[70,1137,1138,1139,1142],{},"Connect the Formatter to a ",[33,1140,1141],{},"Debug"," node and Deploy the flow.",[18,1144,1145],{},"Hit the Inject button to see the adjusted date.",[18,1147,1148,1149,86],{},"There’s a lot more you can do with the Moment node, including advanced formatting options and additional date\u002Ftime transformations. For more information, read the node’s ",[192,1150,1153],{"href":1151,"rel":1152},"https:\u002F\u002Fflows.nodered.org\u002Fnode\u002Fnode-red-contrib-moment",[196],"README documentation",[42,1155,1157],{"id":1156},"calculating-time-differences","Calculating Time Differences",[18,1159,1160,1161,1164],{},"Sometimes you need to know the duration between two timestamps. The moment node doesn't directly calculate differences, so for this, you'll want to use a ",[33,1162,1163],{},"Change"," node with JSONata.",[18,1166,1167],{},"JSONata can calculate differences with simple subtraction, as timestamps are in milliseconds.",[62,1169,1171],{"id":1170},"jsonata-difference-formula","JSONata Difference Formula",[18,1173,1174],{},"The basic formula is to subtract the earlier timestamp from the later one, then divide to convert the result into your desired unit.",[341,1176,1177,1189],{},[344,1178,1179],{},[347,1180,1181,1183,1186],{},[350,1182,1035],{"align":352},[350,1184,1185],{"align":352},"Division Value (ms)",[350,1187,1188],{"align":352},"Example Formula",[364,1190,1191,1208,1225,1242],{},[347,1192,1193,1198,1203],{},[369,1194,1195],{"align":352},[33,1196,1197],{},"Seconds",[369,1199,1200],{"align":352},[83,1201,1202],{},"1000",[369,1204,1205],{"align":352},[83,1206,1207],{},"(ts1 - ts2) \u002F 1000",[347,1209,1210,1215,1220],{},[369,1211,1212],{"align":352},[33,1213,1214],{},"Minutes",[369,1216,1217],{"align":352},[83,1218,1219],{},"60000",[369,1221,1222],{"align":352},[83,1223,1224],{},"(ts1 - ts2) \u002F 60000",[347,1226,1227,1232,1237],{},[369,1228,1229],{"align":352},[33,1230,1231],{},"Hours",[369,1233,1234],{"align":352},[83,1235,1236],{},"3600000",[369,1238,1239],{"align":352},[83,1240,1241],{},"(ts1 - ts2) \u002F 3600000",[347,1243,1244,1248,1253],{},[369,1245,1246],{"align":352},[33,1247,454],{},[369,1249,1250],{"align":352},[83,1251,1252],{},"86400000",[369,1254,1255],{"align":352},[83,1256,1257],{},"(ts1 - ts2) \u002F 86400000",[62,1259,1261],{"id":1260},"working-example-difference-in-days","Working Example (Difference in Days)",[18,1263,1264],{},"This example calculates the difference between a timestamp seven days ago and the current time (7 days).",[67,1266,1267,1273,1352,1389],{},[70,1268,1112,1269,1115,1271,97],{},[33,1270,892],{},[33,1272,92],{},[70,1274,281,1275,1277,1278,266,1281,97,1284],{},[33,1276,1163],{}," node and connect it. Use this node to set up our two reference times (",[83,1279,1280],{},"msg.start_time",[83,1282,1283],{},"msg.end_time",[102,1285,1286,1316],{},[70,1287,1288,1291],{},[33,1289,1290],{},"Rule 1:",[102,1292,1293,1302,1309],{},[70,1294,1295,1298,1299],{},[33,1296,1297],{},"Action:"," ",[83,1300,1301],{},"Move",[70,1303,1304,1298,1307],{},[33,1305,1306],{},"From:",[83,1308,85],{},[70,1310,1311,1298,1314],{},[33,1312,1313],{},"To:",[83,1315,1283],{},[70,1317,1318,1321],{},[33,1319,1320],{},"Rule 2:",[102,1322,1323,1330,1337,1343],{},[70,1324,1325,1298,1327],{},[33,1326,1297],{},[83,1328,1329],{},"Set",[70,1331,1332,1298,1335],{},[33,1333,1334],{},"Property:",[83,1336,1280],{},[70,1338,1339,1298,1341],{},[33,1340,1313],{},[83,1342,176],{},[70,1344,1345,1298,1348,1351],{},[33,1346,1347],{},"Expression:",[83,1349,1350],{},"msg.end_time - (7 * 86400000)"," (This calculates a timestamp exactly 7 days earlier).",[70,1353,1354,1355,1357,1358],{},"Drag a second ",[33,1356,1163],{}," node and connect it. This node performs the final calculation.",[102,1359,1360,1366,1373,1379],{},[70,1361,1362,1298,1364],{},[33,1363,1297],{},[83,1365,1329],{},[70,1367,1368,1298,1370],{},[33,1369,1334],{},[83,1371,1372],{},"msg.days_difference",[70,1374,1375,1298,1377],{},[33,1376,1313],{},[83,1378,176],{},[70,1380,1381,1383],{},[33,1382,1347],{},[596,1384,1387],{"className":1385,"code":1386,"language":601},[599],"(msg.end_time - msg.start_time) \u002F 86400000\n",[83,1388,1386],{"__ignoreMap":12},[70,1390,1391,1392,51,1394,1397],{},"Connect this second Change node to a ",[33,1393,1141],{},[33,1395,1396],{},"Deploy"," the flow.",[18,1399,1400,1401,1403,1404,1406,1407,97],{},"Hit the ",[33,1402,892],{}," button. The ",[33,1405,1141],{}," tab will show the number of days difference (",[33,1408,1100],{},[182,1410],{":height":184,"flow":1411},"W3siaWQiOiI0OGI0OGRlYTVhZWYwNzAxIiwidHlwZSI6Imdyb3VwIiwieiI6ImQ3MTAxZjNhNGQ0NWRlZWQiLCJuYW1lIjoiRG9pbmcgTWF0aCB3aXRoIERhdGVzIiwic3R5bGUiOnsibGFiZWwiOnRydWV9LCJub2RlcyI6WyJhMjEzNzc2NmE2N2ZhZjY3IiwiYmIzNzAxNjI1MjBlOTVkNyJdLCJ4IjoxMDgsInkiOjE3MzMsInciOjk2NCwiaCI6MjU0fSx7ImlkIjoiYTIxMzc3NjZhNjdmYWY2NyIsInR5cGUiOiJncm91cCIsInoiOiJkNzEwMWYzYTRkNDVkZWVkIiwiZyI6IjQ4YjQ4ZGVhNWFlZjA3MDEiLCJuYW1lIjoiVXNpbmcgTW9tZW50IG5vZGVzIiwic3R5bGUiOnsibGFiZWwiOnRydWV9LCJub2RlcyI6WyJhYTcxNzExMTYwYjFiNTQ1IiwiZjc2ZTA1NTU3ZjgwNzU2MiIsImJmZDMzYjg3OGZlZmU4NTIiXSwieCI6MTM0LCJ5IjoxNzU5LCJ3Ijo5MTIsImgiOjgyfSx7ImlkIjoiYWE3MTcxMTE2MGIxYjU0NSIsInR5cGUiOiJpbmplY3QiLCJ6IjoiZDcxMDFmM2E0ZDQ1ZGVlZCIsImciOiJhMjEzNzc2NmE2N2ZhZjY3IiwibmFtZSI6IiIsInByb3BzIjpbeyJwIjoicGF5bG9hZCJ9XSwicmVwZWF0IjoiIiwiY3JvbnRhYiI6IiIsIm9uY2UiOmZhbHNlLCJvbmNlRGVsYXkiOjAuMSwidG9waWMiOiIiLCJwYXlsb2FkIjoiIiwicGF5bG9hZFR5cGUiOiJkYXRlIiwieCI6MjUwLCJ5IjoxODAwLCJ3aXJlcyI6W1siZjc2ZTA1NTU3ZjgwNzU2MiJdXX0seyJpZCI6ImY3NmUwNTU1N2Y4MDc1NjIiLCJ0eXBlIjoibW9tZW50IiwieiI6ImQ3MTAxZjNhNGQ0NWRlZWQiLCJnIjoiYTIxMzc3NjZhNjdmYWY2NyIsIm5hbWUiOiIrIDEgZGF5cyIsInRvcGljIjoiIiwiaW5wdXQiOiJwYXlsb2FkIiwiaW5wdXRUeXBlIjoibXNnIiwiaW5UeiI6IkFmcmljYS9BYmlkamFuIiwiYWRqQW1vdW50IjoiMSIsImFkalR5cGUiOiJkYXlzIiwiYWRqRGlyIjoiYWRkIiwiZm9ybWF0IjoiWVlZWS1NTS1ERCIsImxvY2FsZSI6ImVuLVVTIiwib3V0cHV0IjoicGF5bG9hZCIsIm91dHB1dFR5cGUiOiJtc2ciLCJvdXRUeiI6IkFmcmljYS9BYmlkamFuIiwieCI6NDMwLCJ5IjoxODAwLCJ3aXJlcyI6W1siYmZkMzNiODc4ZmVmZTg1MiJdXX0seyJpZCI6ImJmZDMzYjg3OGZlZmU4NTIiLCJ0eXBlIjoiZGVidWciLCJ6IjoiZDcxMDFmM2E0ZDQ1ZGVlZCIsImciOiJhMjEzNzc2NmE2N2ZhZjY3IiwibmFtZSI6IlJlc3VsdCIsImFjdGl2ZSI6dHJ1ZSwidG9zaWRlYmFyIjp0cnVlLCJjb25zb2xlIjpmYWxzZSwidG9zdGF0dXMiOmZhbHNlLCJjb21wbGV0ZSI6InBheWxvYWQiLCJ0YXJnZXRUeXBlIjoibXNnIiwic3RhdHVzVmFsIjoiIiwic3RhdHVzVHlwZSI6ImF1dG8iLCJ4Ijo5NDAsInkiOjE4MDAsIndpcmVzIjpbXX0seyJpZCI6ImJiMzcwMTYyNTIwZTk1ZDciLCJ0eXBlIjoiZ3JvdXAiLCJ6IjoiZDcxMDFmM2E0ZDQ1ZGVlZCIsImciOiI0OGI0OGRlYTVhZWYwNzAxIiwibmFtZSI6IlVzaW5nIEpTT05hdGEiLCJzdHlsZSI6eyJsYWJlbCI6dHJ1ZX0sIm5vZGVzIjpbIjU1MWIyNmYxYmZkYTJkODgiLCI0ODgxZmZhZmViNWRhNjRjIiwiODJjMDM3MDEyOGExZjgwZCIsIjI5ZjYzMmE1YzY4ZWNjNTUiXSwieCI6MTM0LCJ5IjoxODc5LCJ3Ijo5MTIsImgiOjgyfSx7ImlkIjoiNTUxYjI2ZjFiZmRhMmQ4OCIsInR5cGUiOiJpbmplY3QiLCJ6IjoiZDcxMDFmM2E0ZDQ1ZGVlZCIsImciOiJiYjM3MDE2MjUyMGU5NWQ3IiwibmFtZSI6IiIsInByb3BzIjpbeyJwIjoicGF5bG9hZCJ9XSwicmVwZWF0IjoiIiwiY3JvbnRhYiI6IiIsIm9uY2UiOmZhbHNlLCJvbmNlRGVsYXkiOjAuMSwidG9waWMiOiIiLCJwYXlsb2FkIjoiIiwicGF5bG9hZFR5cGUiOiJkYXRlIiwieCI6MjUwLCJ5IjoxOTIwLCJ3aXJlcyI6W1siODJjMDM3MDEyOGExZjgwZCJdXX0seyJpZCI6IjQ4ODFmZmFmZWI1ZGE2NGMiLCJ0eXBlIjoiZGVidWciLCJ6IjoiZDcxMDFmM2E0ZDQ1ZGVlZCIsImciOiJiYjM3MDE2MjUyMGU5NWQ3IiwibmFtZSI6IlJlc3VsdCIsImFjdGl2ZSI6dHJ1ZSwidG9zaWRlYmFyIjp0cnVlLCJjb25zb2xlIjpmYWxzZSwidG9zdGF0dXMiOmZhbHNlLCJjb21wbGV0ZSI6ImRheXNfZGlmZmVyZW5jZSIsInRhcmdldFR5cGUiOiJtc2ciLCJzdGF0dXNWYWwiOiIiLCJzdGF0dXNUeXBlIjoiYXV0byIsIngiOjk0MCwieSI6MTkyMCwid2lyZXMiOltdfSx7ImlkIjoiODJjMDM3MDEyOGExZjgwZCIsInR5cGUiOiJjaGFuZ2UiLCJ6IjoiZDcxMDFmM2E0ZDQ1ZGVlZCIsImciOiJiYjM3MDE2MjUyMGU5NWQ3IiwibmFtZSI6IlNldCBTdGFydCBhbmQgRW5kIFRpbWUiLCJydWxlcyI6W3sidCI6Im1vdmUiLCJwIjoicGF5bG9hZCIsInB0IjoibXNnIiwidG8iOiJlbmRfdGltZSIsInRvdCI6Im1zZyJ9LHsidCI6InNldCIsInAiOiJzdGFydF90aW1lIiwicHQiOiJtc2ciLCJ0byI6Im1zZy5lbmRfdGltZSAtICg3ICogODY0MDAwMDApIiwidG90IjoianNvbmF0YSJ9XSwiYWN0aW9uIjoiIiwicHJvcGVydHkiOiIiLCJmcm9tIjoiIiwidG8iOiIiLCJyZWciOmZhbHNlLCJ4Ijo0OTAsInkiOjE5MjAsIndpcmVzIjpbWyIyOWY2MzJhNWM2OGVjYzU1Il1dfSx7ImlkIjoiMjlmNjMyYTVjNjhlY2M1NSIsInR5cGUiOiJjaGFuZ2UiLCJ6IjoiZDcxMDFmM2E0ZDQ1ZGVlZCIsImciOiJiYjM3MDE2MjUyMGU5NWQ3IiwibmFtZSI6IkRpZmZlcmVuY2UgaW4gRGF5cyIsInJ1bGVzIjpbeyJ0Ijoic2V0IiwicCI6ImRheXNfZGlmZmVyZW5jZSIsInB0IjoibXNnIiwidG8iOiIobXNnLmVuZF90aW1lIC0gbXNnLnN0YXJ0X3RpbWUpIC8gODY0MDAwMDAiLCJ0b3QiOiJqc29uYXRhIn1dLCJhY3Rpb24iOiIiLCJwcm9wZXJ0eSI6IiIsImZyb20iOiIiLCJ0byI6IiIsInJlZyI6ZmFsc2UsIngiOjc1MCwieSI6MTkyMCwid2lyZXMiOltbIjQ4ODFmZmFmZWI1ZGE2NGMiXV19LHsiaWQiOiJjY2MwODFlNGNjYWJhODc5IiwidHlwZSI6Imdsb2JhbC1jb25maWciLCJlbnYiOltdLCJtb2R1bGVzIjp7Im5vZGUtcmVkLWNvbnRyaWItbW9tZW50IjoiNS4wLjAifX1d",{"title":12,"searchDepth":1413,"depth":1413,"links":1414},2,[1415,1419,1423,1428],{"id":27,"depth":1413,"text":28,"children":1416},[1417],{"id":44,"depth":1418,"text":45},3,{"id":200,"depth":1413,"text":201,"children":1420},[1421,1422],{"id":217,"depth":1418,"text":218},{"id":662,"depth":1418,"text":663},{"id":799,"depth":1413,"text":800,"children":1424},[1425,1426,1427],{"id":812,"depth":1418,"text":813},{"id":880,"depth":1418,"text":881},{"id":949,"depth":1418,"text":950},{"id":978,"depth":1413,"text":979,"children":1429},[1430,1431],{"id":985,"depth":1418,"text":986},{"id":1156,"depth":1418,"text":1157},"Learn how to handle dates and times in Node-RED without coding. Master timestamps, formatting, timezones, calculations, and time-based automation with visual nodes.","md",{},true,"\u002Fnode-red\u002Fgetting-started\u002Fdate-and-time",{"title":5,"description":1432},"node-red\u002Fgetting-started\u002Fdate-and-time","2K6ml26kAEMLL_HSier51J4MxF_Avso_DVHisrafStU",1780070556896]