Authored by Feng

add date format

... ... @@ -32,7 +32,8 @@ exports.index = (req, res) => {
saleModel.getSaleDate({
uid: cookie.getUid(req)
uid: cookie.getUid(req),
saleType: 3
}).then((result) => {
// result = {
... ...
... ... @@ -6,6 +6,7 @@
'use strict';
const querystring = require('querystring');
const _ = require('lodash');
const moment = require('moment');
const config = require('../config/common');
/**
... ... @@ -75,3 +76,62 @@ exports.upperCase = (str) => {
str = str || '';
return str.toUpperCase();
};
/**
* 时间格式化
* @param format 格式化token @see{http://momentjs.cn/docs/#/displaying/format/}
* @param date 日期或者数字
* @return string
*
*/
exports.dateFormat = (format, date) => {
if (typeof format !== 'string' || typeof date === 'undefined') {
return '';
} else {
if (date instanceof Date) {
return moment(date).format(format);
} else {
let d = moment.unix(date);
return moment(d).utc().format(format);
}
}
};
/**
* 时间差格式化
* @param {[string]} format 格式化字符串
* @param {[number]} diff 相差值
* @param {[string]} type diff时间类型 默认ms
*
* Key Shorthand
* years y
* quarters Q
* months M
* weeks w
* days d
* hours h
* minutes m
* seconds s
* milliseconds ms
*
* @example
* let diff = 60 * 60 * 24 * (1.3) + 2;
*
* let s = helpers.dateDiffFormat('{d}天{h}小时', diff, 's');
* >>> 1天7小时
*/
exports.dateDiffFormat = (format, diff, type) => {
if (typeof format !== 'string' || typeof diff === 'undefined') {
return '';
} else {
type = type || 'ms';
let m = moment.duration(diff, type);
format.match(/(\{.*?\})/g).forEach((s) => {
format = format.replace(s, m.get(s.substring(1, s.length - 1)));
});
return format;
}
};
... ...
... ... @@ -41,6 +41,7 @@
"lodash": "^4.12.0",
"md5": "^2.1.0",
"memcached": "^2.2.1",
"moment": "^2.13.0",
"morgan": "^1.7.0",
"oneapm": "^1.2.20",
"request-promise": "^3.0.0",
... ...
... ... @@ -38,3 +38,20 @@ test('lower char to uppercase', t => {
t.is(helpers.upperCase(str), expected);
});
test('date format test', (t) => {
let seconds = 60 * 60 * 3 + 2;
let str = helpers.dateFormat('HH:mm:ss', seconds, 'ss');
let expected = '03:00:02';
t.is(str, expected);
});
test('date diff format test', (t) => {
let seconds = 60 * 60 * 24 * (1.3) + 2;
let str = helpers.dateDiffFormat('{d}天{h}小时', seconds, 's');
console.log(str);
t.pass();
});
... ...