diff options
| author | Abigail <abigail@abigail.be> | 2021-02-18 17:25:10 +0100 |
|---|---|---|
| committer | Abigail <abigail@abigail.be> | 2021-02-18 17:25:10 +0100 |
| commit | b97eda202060a1a635f43117fd185c3642971ba3 (patch) | |
| tree | 39117cb71d039d2fb3cf571c72b5e7b27ab66534 | |
| parent | 3de02145ce6ede5f1f97fa009d39c72f36b77f1d (diff) | |
| download | perlweeklychallenge-club-b97eda202060a1a635f43117fd185c3642971ba3.tar.gz perlweeklychallenge-club-b97eda202060a1a635f43117fd185c3642971ba3.tar.bz2 perlweeklychallenge-club-b97eda202060a1a635f43117fd185c3642971ba3.zip | |
Node.js solution for week 100, part 1
| -rw-r--r-- | challenge-100/abigail/README.md | 1 | ||||
| -rw-r--r-- | challenge-100/abigail/node/ch-1.js | 32 |
2 files changed, 33 insertions, 0 deletions
diff --git a/challenge-100/abigail/README.md b/challenge-100/abigail/README.md index 7e4cf910e0..80fce6a337 100644 --- a/challenge-100/abigail/README.md +++ b/challenge-100/abigail/README.md @@ -23,6 +23,7 @@ Output: 07:15 pm or 07:15pm * [Befunge-93](befunge-93/ch-1.bf93) * [C](c/ch-1.c) * [Lua](lua/ch-1.lua) +* [Node.js](node/ch-1.js) * [Perl](perl/ch-1.pl) ### Blog diff --git a/challenge-100/abigail/node/ch-1.js b/challenge-100/abigail/node/ch-1.js new file mode 100644 index 0000000000..d513e691e1 --- /dev/null +++ b/challenge-100/abigail/node/ch-1.js @@ -0,0 +1,32 @@ +#!/usr/local/bin/node + +// +// See ../README.md +// + +// +// Run as: node ch-1.js < input-file +// + +let printf = require ("printf") + +require ('readline') +. createInterface ({input: process . stdin}) +. on ('line', _ => { + // + // Parse data + // + let [m, hour, minute, ampm] = _ . match (/([0-9]+):([0-9]+)\s*([ap]?)/) + + let new_ampm = ampm == "" ? hour >= 12 ? "pm" : "am" : "" + + hour = hour % 12 + if (ampm == "" && hour == 0) { + hour = 12 + } + if (ampm == "p") { + hour += 12 + } + + printf (process . stdout, "%02d:%02d%s\n", hour, minute, new_ampm) +}); |
