# moment-strftime

> moment-strftime adds strftime to Moment.js

Latest version **0.5.0** (published 2018-08-29) · MIT license · 0 weekly downloads

## Install

```sh
npm install moment-strftime
pnpm add moment-strftime
yarn add moment-strftime
bun add moment-strftime
```

## Health

**Score 25/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned.

## Facts

| | |
|---|---|
| Version | 0.5.0 |
| Published | 2018-08-29 |
| First published | 2012-01-18 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Node | * |
| Dependencies | 1 |
| Unpacked size | 20.4 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 65 |
| Author | Benjamin Oakes |
| Maintainers | benjaminoakes |
| Keywords | moment, date, strftime |

## Links

- npm: https://www.npmjs.com/package/moment-strftime
- Repository: https://github.com/benjaminoakes/moment-strftime
- Issues: https://github.com/benjaminoakes/moment-strftime/issues
- npm.io page: https://npm.io/package/moment-strftime

## Dependencies (1)

- [moment](https://npm.io/package/moment.md) ^2.11.2

## Alternatives

- [@js-joda/timezone](https://npm.io/package/@js-joda/timezone.md) — 383.4K weekly downloads
- [chartjs-adapter-moment](https://npm.io/package/chartjs-adapter-moment.md) — 210.8K weekly downloads
- [strftime](https://npm.io/package/strftime.md) — 171.2K weekly downloads
- [vue-flatpickr-component](https://npm.io/package/vue-flatpickr-component.md) — 115.8K weekly downloads
- [timepicker](https://npm.io/package/timepicker.md) — 51.0K weekly downloads

## Recent versions

- 0.5.0 (latest) — 2018-08-29
- 0.4.1 — 2018-08-29
- 0.4.0 — 2018-08-24
- 0.3.2 — 2018-04-27
- 0.3.1 — 2018-04-27
- 0.3.0 — 2018-03-21
- 0.2.3 — 2017-09-11
- 0.2.2 — 2017-06-14
- 0.2.1 — 2017-02-28
- 0.2.0 — 2016-10-26
- 0.1.5 — 2015-09-23
- 0.1.4 — 2015-08-24
- 0.1.3 — 2015-07-09
- 0.1.2 — 2012-01-18
- 0.1.1 — 2012-01-18
- … 1 more at https://npm.io/package/moment-strftime/versions

## README

# moment-strftime

[![Build Status](https://secure.travis-ci.org/benjaminoakes/moment-strftime.png)](http://travis-ci.org/benjaminoakes/moment-strftime)
[![Flattr this git repo](http://api.flattr.com/button/flattr-badge-large.png)](https://flattr.com/submit/auto?user_id=benjaminoakes&url=https://github.com/benjaminoakes/moment-strftime&title=moment-strftime&language=en_GB&tags=github&category=software)

[Moment.js](https://github.com/timrwood/moment) 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](https://github.com/timrwood/moment/issues/49)).  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](https://github.com/loopj/commonjs-date-formatting) [many](https://github.com/loopj/commonjs-date-formatting) ([abandoned, buggy](http://hacks.bluesmoon.info/strftime/)) [solutions](https://github.com/zaius/jdate) 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`.

## Installation

### Browser

It's preferred that you use Bower, but you can also [download the raw JavaScript](https://raw.githubusercontent.com/benjaminoakes/moment-strftime/master/lib/moment-strftime.js).

### Node.js

`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

## Usage

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

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

In Node.js:

```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](https://github.com/benjaminoakes/moment-strftime/issues) or (preferably) make a pull request.

## Contributing

To get up and running:

    docker-compose build
    docker-compose run test

## Resources

* [cheat strftime](http://errtheblog.com/posts/21-cheat)
* [C strftime](http://pubs.opengroup.org/onlinepubs/007908799/xsh/strftime.html)

## License

MIT (see `LICENSE`)

---
_Source: https://npm.io/package/moment-strftime · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
