var helpers = require("../helpers.js") /* ZDA Time & Date – UTC, Day, Month, Year and Local Time Zone 1 2 3 4 5 6 7 | | | | | | | $--ZDA,hhmmss.ss,xx,xx,xxxx,xx,xx*hh 1) Local zone minutes description, same sign as local hours 2) Local zone description, 00 to +/- 13 hours 3) Year 4) Month, 01 to 12 5) Day, 01 to 31 6) Time (UTC) 7) Checksum */ exports.ID = 'ZDA'; exports.TYPE = 'time-zone'; exports.decode = function(fields) { return { sentence: exports.ID, type: exports.TYPE, timestamp: fields[1], day: fields[2], month: fields[3], year: fields[4], ltzh: fields[5], ltzn: fields[6] }; } exports.encode = function (talker, msg) { var result = ['$' + talker + exports.ID]; var { date } = msg result.push(helpers.padLeft(date.getHours().toString(), 2, '0') + helpers.padLeft(date.getMinutes().toString(), 2, '0') + helpers.padLeft(date.getSeconds().toString(), 2, '0') + '.000'); result.push(helpers.padLeft(date.getDate().toString(), 2, '0')); result.push(helpers.padLeft((date.getMonth() + 1).toString(), 2, '0')); result.push(date.getFullYear().toString()); result.push('00'); result.push('00'); var resultMsg = result.join(','); return resultMsg + helpers.computeChecksum(resultMsg); }