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#expandableInstall strftime:
npm install strftimeInstall this extension:
npm install sprintf-ext-strftimeNow 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
9 years ago