aboutsummaryrefslogtreecommitdiff
path: root/challenge-100/abigail/node/ch-1.js
blob: d513e691e1cae82a3f2573bb001da27a1e099cf4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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)
});