moment-strftime adds strftime and friends to Moment.js
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
lib Fix webpack critical dependency warning Feb 19, 2017
.gitignore Remove CoffeeScript building code and related notes Jul 9, 2015
.travis.yml Remove `npm install` from CI Oct 26, 2016 Bump version to 0.2.2 Jun 14, 2017
ChangeLog Bump version to 0.2.2 Jun 14, 2017
Dockerfile Add npm deployment provider for tagged commits Oct 26, 2016
LICENSE Split out LICENSE Nov 15, 2012 Remove now-unnecessary `npm install` command Oct 26, 2016
bower.json Bump version to 0.2.2 Jun 14, 2017
docker-compose.yml Add simple Dockerfile and docker-compose.yml Oct 26, 2016


Build Status Flattr this git repo

Moment.js is a great, lightweight date-manipulation library. It also has a very approachable date format syntax that would be familiar to most people who have ever had to fill out a form (e.g., guess what 'YYYY-MM-DD' means).

Most programmers however, are familiar with other date formatting syntax. The Unix-style strftime is commonly found in many languages' standard libraries. Unfortunately, it is still absent in JavaScript.

Moment.js helps with a lot of the pain associated with Date handling in JavaScript, but it doesn't handle strftime (nor will it, it seems). If you are working in a language that does have strftime, it seems awkward to have to use another format when using JavaScript (especially if you're trying to keep formats consistent between languages).

That's unfortunate. There are too many (abandoned, buggy) solutions for date handling in JavaScript. Moment.js has the most steam behind it because of all the other features it has going for it.

But... if Moment.js just had strftime and friends, why would you need anything else? Enter moment-strftime.



It's preferred that you use Bower, but you can also download the raw JavaScript.


moment-strftime is available as a Node.js package. The JavaScript itself should work as a CommonJS module, but it has only been tested in Node.js.

npm install moment-strftime


moment-strftime is a tiny plugin for Moment.js that adds a strftime method. It's simple:

moment().strftime("%m/%d/%y %I:%M %p %Z"); // => '01/17/12 08:54 PM EST'

In Node.js:

// Gets you everything in Moment.js too
var moment = require('moment-strftime');
moment().strftime("%m/%d/%y %I:%M %p %Z"); // => '01/17/12 08:54 PM EST'

Known Issues

Compatibility: stable Chrome, stable Firefox, stable Safari, IE9+

I've only developed moment-strftime as far as I need it right now, rather than implementing features I don't need yet. I've noticed that implementing "unused" features often leads to bugs, so the plan is to implement on an as-needed basis.

If you run into an issue or unimplemented feature that you need, please open an issue or (preferably) make a pull request.


To get up and running:

docker-compose build
docker-compose run test