sprintf-ext-strftime v0.0.1
sprintf-ext-strftime
Date/time formatting extension for
sprintf-js
(viastrftime
)
Overview
It's the very experimental module to try the new feature that proposed to sprintf-js by me.
This feature allow to use an user defined type specifiers (any letter) and
bind such specifier with an user defined function. This function will be called
inside sprintf
to format sprintf
arguments according desired specification.
An additional formatting modifiers may be passed in the sprintf
format string if need.
You can use any existing formatting features of sprintf
together with such user defined type specifiers
(width, precision, padding and aligning). They will be applied to result of user function.
Getting Started
Install featured sprintf-js:
npm install https://github.com/litmit/sprintf.js.git#expandable
Install strftime:
npm install strftime
Install this extension:
npm install sprintf-ext-strftime
Now you can code:
var sprintf = require("sprintf-js").sprintf;
var strftime = require("strftime");
var ssprintf_ext_strftime = require("sprintf-ext-strftime");
sprintf_ext_strftime.bind(sprintf,strftime); // binded to 'D' type specifier by default
var printf = function() { var o = sprintf.apply(sprintf, arguments); console.log(o); return o.length; };
var now = new Date(2016,11,22,0,33,44,555);
printf("Now [%[%B %d, %Y %H:%M:%S]D]", now); // --> Now [December 22, 2016 00:33:44]
printf("Now %[%F %T]D", now); // --> Now 2016-12-22 00:33:44
// more over you can bind localized version of strftime to another type specifier
// and use it simultaneously
sprintf_ext_strftime.bind(sprintf,strftime.localizeByIdentifier('ru_RU'),"L");
printf("Сейчас [%1$[%B %d, %Y %H:%M:%S]L]/[%1$[%B %d, %Y %H:%M:%S]D]", now);
// --> Сейчас [Декабрь 22, 2016 00:33:44]/[December 22, 2016 00:33:44]
See also
Available extensions for sprintf-js:
- sprintf-ext-strftime - Date/time formatting extension for
sprintf-js
(viastrftime
) - sprintf-ext-string - String formatting extension for
sprintf-js
8 years ago