Moment.js
https://github.com/moment/moment/
Day.js
https://github.com/iamkun/dayjs
Moment.js 是一個大而全的Javascript時間庫,但若想要降低編譯後Javascript包的大小,或是降低通過CDN下載相關Javascript的流量,就可以考慮使用Day.js。兩者於格式化(format)、計算時間差(diff)與時間增減量(add)都可互通互換,只要更換Javascript與初始化對象即可。
以下為單html檔測試範例︰
載入後畫面為︰
#Javascript, Moment.js, Day.js, time, date, 時間, 格式化, 設置, 解析, 轉換
https://github.com/moment/moment/
Day.js
https://github.com/iamkun/dayjs
Moment.js 是一個大而全的Javascript時間庫,但若想要降低編譯後Javascript包的大小,或是降低通過CDN下載相關Javascript的流量,就可以考慮使用Day.js。兩者於格式化(format)、計算時間差(diff)與時間增減量(add)都可互通互換,只要更換Javascript與初始化對象即可。
以下為單html檔測試範例︰
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>Moment.js & Day.js Convert Demo</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<!--使用Moment.js-->
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
<!--使用Day.js-->
<script src="https://cdnjs.cloudflare.com/ajax/libs/dayjs/1.8.10/dayjs.min.js"></script>
</head>
<body>
<div id="app"></div>
<script>
function ft_mm(t) {
//format
let o = moment(t, 'YYYY/MM/DD HH:mm:ss')
return o.format('YYYY/MM/DD HH:mm:ss')
}
function ft_dy(t) {
//format
let o = dayjs(t, 'YYYY/MM/DD HH:mm:ss')
return o.format('YYYY/MM/DD HH:mm:ss')
}
function diff_mm(t1, t2) {
//diff
let o1 = moment(t1, 'YYYY/MM/DD HH:mm:ss')
let o2 = moment(t2, 'YYYY/MM/DD HH:mm:ss')
return o2.diff(o1, 'seconds')
}
function diff_dy(t1, t2) {
//diff
let o1 = dayjs(t1, 'YYYY/MM/DD HH:mm:ss')
let o2 = dayjs(t2, 'YYYY/MM/DD HH:mm:ss')
return o2.diff(o1, 'seconds')
}
function add_mm(t, im) {
//add
let o = moment(t, 'YYYY/MM/DD HH:mm:ss')
return o.add(im, 'months').format('YYYY/MM/DD HH:mm:ss')
}
function add_dy(t, im) {
//add
let o = dayjs(t, 'YYYY/MM/DD HH:mm:ss')
return o.add(im, 'months').format('YYYY/MM/DD HH:mm:ss')
}
console.log = function (c, v) {
//覆蓋log, 使用jQuery輸出至網頁
$('#app').append('<div style="padding:3px;">' + 'log: ' + c + ', ' + v + '</div>')
}
//比對format
let t = '2019/01/02 03:04:05'
let pt1 = ft_mm(t)
let pt2 = ft_dy(t)
console.log('ft_mm', pt1)
console.log('ft_dy', pt2)
//2019/01/02 03:04:05
//比對diff
let t1 = t
let t2 = '2019/01/02 03:14:15'
let ptfs1 = diff_mm(t1, t2)
let ptfs2 = diff_dy(t1, t2)
console.log('diff_mm', ptfs1)
console.log('diff_dy', ptfs2)
//610
//比對add
let im = 2
let ptam1 = add_mm(t, im)
let ptam2 = add_dy(t, im)
console.log('add_mm', ptam1)
console.log('add_dy', ptam2)
//2019/03/02 03:04:05
</script>
</body>
</html>
載入後畫面為︰
#Javascript, Moment.js, Day.js, time, date, 時間, 格式化, 設置, 解析, 轉換

留言
張貼留言