# silly-datetime

> simple datetime formater

Latest version **0.1.2** (published 2015-12-23) · MIT license · 0 weekly downloads

## Install

```sh
npm install silly-datetime
pnpm add silly-datetime
yarn add silly-datetime
bun add silly-datetime
```

## Health

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

Positive: no vulnerabilities.

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

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.1.2 |
| Published | 2015-12-23 |
| First published | 2015-07-06 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Hans Chan |
| Maintainers | csbun |
| Keywords | datetime, format |

## Links

- npm: https://www.npmjs.com/package/silly-datetime
- Repository: https://github.com/csbun/silly-datetime
- Issues: https://github.com/csbun/silly-datetime/issues
- npm.io page: https://npm.io/package/silly-datetime

## 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.1.2 (latest) — 2015-12-23
- 0.1.1 — 2015-11-18
- 0.1.0 — 2015-09-07
- 0.0.3 — 2015-07-24
- 0.0.2 — 2015-07-21
- 0.0.1 — 2015-07-06

## README

# silly-datetime

Simple datetime formater

[![NPM](https://nodei.co/npm/silly-datetime.png?compact=true)](https://nodei.co/npm/silly-datetime/)

[![Build Status](https://travis-ci.org/csbun/silly-datetime.svg)](https://travis-ci.org/csbun/silly-datetime)
[![Coverage Status](https://coveralls.io/repos/csbun/silly-datetime/badge.svg?branch=master&service=github)](https://coveralls.io/github/csbun/silly-datetime?branch=master)

## Install

### npm

```sh
npm i silly-datetime --save
```

### bower

```sh
bower install silly-datetime --save
```

## Example

```javascript
var sd = require('silly-datetime');
sd.format(new Date(), 'YYYY-MM-DD HH:mm');
// 2015-07-06 15:10

sd.fromNow(+new Date() - 2000);
// a few seconds ago
```

ES2015:

```javascript
import {
    format,
    fromNow
} from 'silly-datetime';
format(new Date(), 'YYYY-MM-DD HH:mm'); // 2015-07-06 15:10
fromNow(+new Date() - 2000); // a few seconds ago
```

## Usage

### .format(datetime, format)

Format a Date object to specified format.

- datetime: Date Object
- format: formate string, default to `'YYYY-MM-DD HH:mm:ss'`

Format | Example | Description
------ | ------- | -----------
`YYYY` | `2015`  | 4 digit year
`M MM` | `0..12` | Month number
`D DD` | `0..31` | Day of month
`H HH` | `0..23` | 24 hour time
`h hh` | `1..12` | 12 hour time used with `a A`.
`a A`  | `am pm` | Post or ante meridiem
`m mm` | `0..59` | Minutes
`s ss` | `0..59` | Seconds

```javascript
sd.format(new Date(), 'YYYY-MM-DD HH:mm');
// 2015-07-06 15:10
```

### .fromNow(datetime)

Time from now. This is sometimes called timeago or relative time.

- datetime: Date Object

```javascript
sd.fromNow(+new Date() - 2000);
// a few seconds ago
```

### .locate(newLocale)

Changing locale globally. By default, silly-datetime comes with English locale strings.

- newLocale: locate string or locate Object

Locate string can be `en` (default) or `zh-cn`;

```javascript
var datetime = +new Date() + 10 * 60 * 1000;
sd.locate('zh-cn')
sd.fromNow(datetime);
// 10分钟内
```

Or just pass an custom locate object with any of the key in the table below:

key      | en              | zh-cn
-------- | --------------- | ------
`future` | `in %s`         | `%s内`
`past`   | `%s ago`        | `%s前`
`s`      | `a few seconds` | `刚刚`
`mm`     | `%s minutes`    | `%s分钟`
`hh`     | `%s hours`      | `%s小时`
`dd`     | `%s days`       | `%s天`
`MM`     | `%s months`     | `%s月`
`yy`     | `%s years`      | `%s年`

```javascript
sd.locate({
  past: '%s之前',
  hh: '%s小時'
});
var datetime = +new Date() + 10 * 60 * 60 * 1000;
sd.fromNow(datetime);
// 10小時之前
```

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