相信大家在開發過程中,經常會需要用到各種的日期格式,如‘2020-05-07’、‘2020年5月7日’、‘2020年5月7日 15:52:47’等等的日期格式要求,不知道大家都寫過多少遍的轉日期格式的方法了,反正天某是寫煩了,於是就產生了想要封裝一個工具出來的想法。
export class Tools{ /** * @param timestamp 時間戳 ms * @param formats 時間格式 Y M D h m s * */ public static getDate(timestamp:number, formats: string = 'Y-M-D'):string { let date = timestamp ? new Date(timestamp) : new Date(); let year = date.getFullYear(); let month = this.add0(date.getMonth() + 1); let day = this.add0(date.getDate()); let hour = this.add0(date.getHours()); let minute = this.add0(date.getMinutes()); let second = this.add0(date.getSeconds());
// 將傳入的時間格式分別替換成相應的年月日時分秒,而且里面的時分秒對應的字符大家也可以自己定義哈 return formats.replace(/Y|M|D|h|m|s/ig, function (matches:string) { let result: any = { Y : year, M : month, D : day, h : hour, m : minute, s : second }; return result[matches]; }) } /** * @param value 傳入值 * */ private static add0(value:string|number):string { value = Number(value) return value < 10 ? '0' + value : value + '' } }
相信大家看了上面的代碼也很直觀了,那么調用方法呢,我也簡單說一下
// 這樣一來大家就可以隨心所欲的定制自己想要的日期格式了
Tools.getDate(1593763401747, 'Y-M-D h:m:s') Tools.getDate(1593763401747, 'Y年M月D日 h:m')
如果有好的建議或者發現天某哪里有錯誤的,歡迎大家指出喲