From 945571ff361bd7b77d0121769382508eeb8c6766 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A1=94=E5=AD=90?= Date: Wed, 27 Jan 2021 14:17:02 +0800 Subject: [PATCH] =?UTF-8?q?fix(Calendar):=20=E4=BF=AE=E5=A4=8D=20PC=20?= =?UTF-8?q?=E7=AB=AF=E5=B0=8F=E7=A8=8B=E5=BA=8F=E8=BF=90=E8=A1=8C=E7=99=BD?= =?UTF-8?q?=E5=B1=8F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PC 端小程序不支持 padStart 函数,去除 padStart 函数的使用 close #1277 --- src/calendar/dete.js | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/src/calendar/dete.js b/src/calendar/dete.js index ad2ffea4..504c16f8 100644 --- a/src/calendar/dete.js +++ b/src/calendar/dete.js @@ -1,5 +1,5 @@ const formatFlags = { - format: function(format, date) { + format: function (format, date) { date = new Date(date); let ret; const opt = { @@ -10,10 +10,23 @@ const formatFlags = { for (let k in opt) { ret = new RegExp('(' + k + ')').exec(format); if (ret) { - format = format.replace(ret[1], (ret[1].length === 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, '0'))); + format = format.replace(ret[1], (ret[1].length === 1) ? opt[k] : this.padZero(opt[k], ret[1].length)); } } return format; + }, + + /** + * PC 端微信不支持 padStart,这里写一个补 0 函数 + * 如果测试已兼容,则可使用原生 padStart + * issue #1277 + */ + padZero(str, length) { + let res = str; + for (let i = 0; i < length - str; i++) { + res = '0' + res; + } + return res; } }; @@ -26,4 +39,4 @@ formatFlags.format('M-dd', new Date()); formatFlags.format('MM-dd', new Date()); -export default formatFlags; \ No newline at end of file +export default formatFlags;