time-formater
不是 time-format[t]er
在javascript中顯示日期。
使用方法
npm i -S time-formater
const time = require('time-formater')
let rawDate = time().format('YYYY-MM-DD HH:mm:ss') // 當前時間
console.log(rawDate) // 2017-05-21 15:19:34
解析
- 當前時間
let now = time()
如果參數爲空則獲取當前系統時間。
- 數字
let date = time(1495355143424)
如果傳入參數爲數字,則表示UTC時間戳。
- 字符串
let date = time('2017-05-21')
// or
let date = time('2017-05-21 16:37:02')
// or
let date = time('2017-05-21 13:20:35+0800')
// or
let date = time('2017-05-21 19:02:59-08:00')
// or
let date = time('2017-05-21 12:38:49Z')
如果傳入字符串,則必須符合ISO 8601格式。
- 原生日期對象
let date = time(new Date())
傳入參數也可以是一個原生的javascript
日期對象。
顯示
format(string)
let rawDate = time().format('YYYY-MM-DD') // 2017-05-21
特定字符串所代表的含義
Token | Output | |
---|---|---|
月份 | M | 1 2 ... 11 12 |
MM | 01 02 ... 11 12 | |
MMM | 1月 2月 ... 11月 12月 | |
MMMM | 一月 二月 ... 十二月 | |
季度 | Q | 1 2 3 4 |
日期 | D | 1 2 ... 30 31 |
Do | 1日 2日 ... 30日 31日 | |
DD | 01 02 ... 30 31 | |
星期 | d | 0 1 2 3 4 5 6 |
dd | 日 一 二 三 四 五 六 | |
ddd | 週日 週一 ... 週五 週六 | |
dddd | 星期日 星期一 ... 星期五 星期六 | |
年份 | YYYY | 1970 1971 ... 2029 2030 |
上午/下午 | A | 凌晨 早上 ... 下午 晚上 |
a | 凌晨 早上 ... 下午 晚上 | |
時刻 | H | 0 1 ... 22 23 |
HH | 00 01 ... 22 23 | |
h | 1 2 ... 11 12 | |
hh | 01 02 ... 11 12 | |
分鐘 | m | 0 1 ... 58 59 |
mm | 00 01 ... 58 59 | |
秒 | s | 0 1 ... 58 59 |
ss | 00 01 ... 58 59 | |
毫秒 | S | 0 1 ... 8 9 |
SS | 00 01 ... 98 99 | |
SSS | 000 001 ... 998 999 | |
Unix 時間戳 | X | 1495357559853 |
Unix 時間戳 毫秒 | x | 1495357559853 |
時差 (以現在爲基準)
fromNow()
let fromNow = time('2017-01-01').fromNow()
console.log(fromNow) // 4個月前
倒計時
const time = require('time-formater')
let remain = 100000 // 10萬秒
let countdown = time.countdown(remain)
let token = '剩餘:d天H小時m分鐘s秒'
// 瀏覽器
function step() {
document.title = countdown.format(token) // 剩餘:1天3小時46分鐘40秒
requestAnimationFrame(step)
}
step()
countdown(time)
time
<number | string | Date> 類型爲數字表示剩餘的秒數,爲Date實例或字符串(符合ISO 8601格式),表示結束的時間點。
返回倒計時的時間量。
format(token)
token
<string> 用於指定輸出格式。例:'剩餘:d天H小時m分鐘s秒' => "剩餘:1天11小時4分鐘38秒"。
token | 描述 |
---|---|
d | 天數 |
H | 小時數 |
m | 分鐘數 |
s | 秒數 |
S | 毫秒數 |
#<number> | 前綴,表示在前面填充零到指定寬度。 例:#3d 表示將天數填充到3個字符,001 。 |
將時間量格式化爲字符串。