https://github.com/csbun/silly-datetime
simple datetime formater
https://github.com/csbun/silly-datetime
Last synced: 6 months ago
JSON representation
simple datetime formater
- Host: GitHub
- URL: https://github.com/csbun/silly-datetime
- Owner: csbun
- License: mit
- Created: 2015-07-06T06:49:25.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2015-12-23T08:45:28.000Z (over 9 years ago)
- Last Synced: 2024-11-10T05:34:00.458Z (6 months ago)
- Language: JavaScript
- Size: 14.6 KB
- Stars: 22
- Watchers: 2
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# silly-datetime
Simple datetime formater
[](https://nodei.co/npm/silly-datetime/)
[](https://travis-ci.org/csbun/silly-datetime)
[](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:10sd.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小時之前
```