Skip to content

Node.js package to decode BCD datetime buffers into a normal javascript date objects

License

Notifications You must be signed in to change notification settings

eflexsystems/bcd-date

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

bcd-date

Build Status

Node.js package to decode BCD datetime buffers used by Siemens and Rockwell PLCs into a normal javascript date objects.

The format of the BCD date is as follows

Byte Contents Range
0 Year 90-89
1 Month 1-12
2 Day 1-31
3 Hour 0-23
4 Minute 0-59
5 Second 0-59
6 2 MSD of ms 0-99
7 (1st nibble) LSD of ms 0-9
7 (2nd nibble) Day of week (unused) 1-7

example

var bcdDate = require('bcd-date');

var buffer = new Buffer('1012231130301235', 'hex');

var date   = bcdDate.decode(buffer);
var buffer = bcdDate.encode(date);

// date   == date at 2010-12-23 11:30:30.123
// buffer == buffer of 1012231130301235

// decode as UTC
var date = bcdDate.decode(buffer, true);

// encode as UTC
var date = bcdDate.encode(buffer, true);

About

Node.js package to decode BCD datetime buffers into a normal javascript date objects

Resources

License

Stars

Watchers

Forks

Packages