webio-node/src/tools/index.js
2017-04-13 13:13:40 +08:00

28 lines
1.0 KiB
JavaScript

/**
*
* @param {string} str source string
* @param {number} lng target length
* @param {number} arrow add padding to start/end -1 > start , 1 > end
* @param {string} txt padding string
* @return {string}
*/
export const padding = (str, lng = 0, arrow = -1, txt = '0') => {
if (!str) str = '';
if (typeof str != 'string') str = str.toString();
if (typeof txt != 'string') txt = txt.toString();
if (!isFinite(lng) || lng <= 0) return str;
if (str.length < lng) return padding(arrow < 0 ? `${txt}${str}` : `${str}${txt}`, lng, arrow, txt);
return str;
}
/**
*
* @param {*} timestamp timestamp string or number
* @param {bool} showSec show second flag
* @return {string}
*/
export const convertTime = (timestamp, showSec = false) => {
timestamp = padding(timestamp, 13, 1, '0');
let d = new Date(parseInt(timestamp));
return `${d.getFullYear()}-${padding(d.getMonth() + 1, 2)}-${padding(d.getDate(), 2)} ${padding(d.getHours(), 2)}:${padding(d.getMinutes(), 2)}${showSec ? `:${padding(d.getSeconds(), 2)}` : ''}`
}