Skip to content

Latest commit

 

History

History
118 lines (87 loc) · 2.58 KB

README.md

File metadata and controls

118 lines (87 loc) · 2.58 KB

silly-datetime

Simple datetime formater

NPM

Build Status Coverage Status

Install

npm

npm i silly-datetime --save

bower

bower install silly-datetime --save

Example

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:

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
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
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;

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年
sd.locate({
  past: '%s之前',
  hh: '%s小時'
});
var datetime = +new Date() + 10 * 60 * 60 * 1000;
sd.fromNow(datetime);
// 10小時之前