Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/Paul-Reed/node-red-contrib-simpletime

A lightweight node-red node to provide and format date and time.
https://github.com/Paul-Reed/node-red-contrib-simpletime

node-red npm-package timestamp

Last synced: about 2 months ago
JSON representation

A lightweight node-red node to provide and format date and time.

Awesome Lists containing this project

README

        

node-red-contrib-simpletime
====================
[![NPM version][npm-version-image]][npm-url]
[![NPM downloads per month][npm-downloads-month-image]][npm-url]
[![NPM downloads total][npm-downloads-total-image]][npm-url]
[![MIT License][license-image]][license-url]
[![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

A Node-RED node that is extremely lightweight and which can be inserted in any running flow, and adds time and date payloads with various formatting options, which can be retreived and used later in the flow.
It can also accept an input of a date (see inputs below), and use that date to calculate simpletime's outputs.

Install
-------

Run the following command in your Node-RED user directory - typically `~/.node-red`

npm install node-red-contrib-simpletime

Usage
-----

### Inputs

Any existing payloads or topics being injected into simpletime will pass unaltered through the node except msg.date
If msg.date is present, it MUST contain a valid date that could be processed by the `new Date()` constructor such as;
`2024-04-16T12:02:05Z`
`Mon, 22 Apr 2024 19:55:05 GMT`
`2024-05-11`
`1715538484102` (as a number)

If msg.date is not present, simpletime will calculate it's outputs based on the current date & time.

### Outputs

In addition to any existing payloads, a number of additional payloads will be added, which can be utilised later in the flow.
By default, all the additional properties will be added to the message but this can be altered in the node configuration, using checkboxes

### Details

The additional payloads added to the flow, and their typical content format are;

* msg.mydate: "Tue Sep 11 2018"
* msg.myymd: "2018-09-11"
* msg.myyear: "2018"
* msg.mymonth: "Sep"
* msg.mymonthf: "September"
* msg.mymonthn: "09"
* msg.mydom: "11"
* msg.mydoy: "86"
* msg.myday: "Tue"
* msg.mydayf: "Tuesday"
* msg.myhourpm: "7"
* msg.myhour: "19"
* msg.mytime: "19:51"
* msg.mytimes: "19:51:17"
* msg.myminute: "51"
* msg.myminutes: "51:17"
* msg.mysecond: "17"
* msg.mymillis: "985"
* msg.myepoch: "1536691877064"
* msg.myrawdate: "2018-09-11T18:51:17.064Z"
* msg.mypm: "PM"

To introduce any of the messages into a flow, simply assign any, or any combination of the messages into a variable, such as; var seconds = msg.myseconds; or to use in a ui_text node add via mustache {{mytimes}}
More advanced date formats can also be constructed, such as {{mytime}}hrs - {{mydom}}/{{mymonth}} to get "20:10hrs - 11/Sep", or {{myhourpm}}:{{myminute}}{{mypm}} to get "8.10PM"

For more advanced timezone handling, node-red-contrib-moment is recommended.

[license-image]: https://img.shields.io/badge/license-Apache%202-blue
[license-url]: https://github.com/Paul-Reed/node-red-contrib-simpletime/blob/master/LICENSE
[npm-url]: https://www.npmjs.com/package/node-red-contrib-simpletime
[npm-version-image]: https://img.shields.io/npm/v/node-red-contrib-simpletime.svg
[npm-downloads-month-image]: https://img.shields.io/npm/dm/node-red-contrib-simpletime.svg
[npm-downloads-total-image]: https://img.shields.io/npm/dt/node-red-contrib-simpletime.svg