JavaScript日期/时间模式%t{yyyyMMdd HHmm}-RegExp以读取模式
下面是Node.js模块,其函数JavaScript日期/时间模式%t{yyyyMMdd HHmm}-RegExp以读取模式,javascript,regex,node.js,datetime,formatting,Javascript,Regex,Node.js,Datetime,Formatting,下面是Node.js模块,其函数format(),实际取自Node.js的“util”模块 date.js将format()函数添加到date原型中 如何使RegExpression在占位符之后提取时间格式模式 // from Node.js util module util = require ('util'); inspect = util.inspect; require('./date.js'); // adds .format to Date prototype var format
format()
,实际取自Node.js的“util”模块
date.js将format()函数添加到date原型中
如何使RegExpression在占位符之后提取时间格式模式
// from Node.js util module
util = require ('util');
inspect = util.inspect;
require('./date.js'); // adds .format to Date prototype
var formatRegExp = /%[sdjt%]/g; //+ t
exports.format = function(f) {
if (typeof f !== 'string') {
var objects = [];
for (var i = 0; i < arguments.length; i++) {
objects.push(inspect(arguments[i]));
}
return objects.join(' ');
}
var i = 1;
var args = arguments;
var len = args.length;
var str = String(f).replace(formatRegExp, function(x) {
if (x === '%%') return '%';
if (i >= len) return x;
switch (x) {
case '%s': return String(args[i++]);
case '%d': return Number(args[i++]);
case '%j': return JSON.stringify(args[i++]);
// added time = new Date().format('yyyy-MM-dd H:m:s');
case '%t': return args[i++].format('yyyy-MM-dd HH:mm:ss'); //+ added line
default:
return x;
}
});
for (var x = args[i]; i < len; x = args[++i]) {
if (x === null || typeof x !== 'object') {
str += ' ' + x;
} else {
str += ' ' + inspect(x);
}
}
return str;
};
//来自Node.js util模块
util=require('util');
inspect=util.inspect;
需要('./date.js');//将.format添加到最新原型
var formatRegExp=/%[sdjt%]/g;/+T
exports.format=函数(f){
如果(f的类型!=='string'){
var对象=[];
for(var i=0;i=len)返回x;
开关(x){
案例“%s”:返回字符串(args[i++]);
案例“%d”:返回编号(args[i++]);
案例“%j”:返回JSON.stringify(args[i++]);
//添加的时间=新日期().格式('yyyy-MM-dd H:m:s');
案例“%t”:返回参数[i++]。格式('yyyy-MM-dd HH:MM:ss');//+添加行
违约:
返回x;
}
});
对于(变量x=args[i];i
也许还有其他解决方案支持使用%t{yyyyymmdd HHmm}
console.log(formatutil.format('log-%t{yyyyMMdd HHmm}.log',curtime))代码>
更新:
这就是RegExp可以在'log-%t{yyyyymmdd HHmm}.log'中捕获“%t{yyyyMMdd HHmm}”的原因。如果您要使用不同的库,那么我已经看过momentjs了。Date.format()也可以用它来实现。我的问题是什么RegExp可以在“log-%t{yyyyymmdd HHmm}.log”中捕获“%t{yyyyMMdd HHmm}”