UNPKG

bia

Version:

a tool for download git repository

96 lines (89 loc) 2.48 kB
/* * @Author: hzxulin@yeah.net * @Date: 2020-02-26 12:04:04 * @Last Modified by: hzxulin@yeah.net * @Last Modified time: 2020-02-26 18:19:06 */ const path = require('path') const fse = require('fs-extra') const moment = require('moment') const colors = require('colors') const TIME_CONFIG = require('../../config/time.json') /** * 获取并输出当前format */ const getFormat = () => { return new Promise((resolve, reject) => { try { const data = TIME_CONFIG.format if (!data) { console.log(colors.red('==当前未设置日期格式, 请先设置==')) } else { console.log('\r\n当前已设置日期格式:' + colors.green(`\t${data}\r\n`)) } resolve(data) } catch (err) { reject(err) } }) } /** * 设置format的值 * @param {string} format 时间格式化的模板 */ const setFormat = (format) => { return new Promise((resolve, reject) => { const res = Object.assign(TIME_CONFIG, { format, }) let dist = path.resolve(__dirname, '../../config/time.json') let content = JSON.stringify(res, null, 4) fse.outputFile(dist, content, err => { if (err) { reject(err) } else { resolve() } }) }) } /** * 格式化时间戳 * @param {string} timestamp 时间戳 * @return {string} 时间格式 */ const formatTimestamp = (timestamp) => { return new Promise((resolve, reject) => { if (/\d{13}/.test(timestamp)) { const dateStr = moment(+timestamp).format(TIME_CONFIG.format) resolve(dateStr) } else if (/\d{10}/.test(timestamp)) { const dateStr = moment(timestamp * 1000).format(TIME_CONFIG.format) resolve(dateStr) } else { reject(new Error('时间戳格式错误')) } }) } /** * 格式化时间格式 * @param {string} timestamp 时间戳 * @return {string} 时间戳 */ const formatDate = (dateStr) => { return new Promise((resolve, reject) => { try { dateStr = dateStr == 'undefined' ? new Date().getTime() : dateStr const timestamp = moment(dateStr).valueOf() resolve(timestamp) } catch (err) { reject(err) } }) } module.exports = { getFormat, setFormat, formatTimestamp, formatDate, }