Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript日期/时间模式%t{yyyyMMdd HHmm}-RegExp以读取模式_Javascript_Regex_Node.js_Datetime_Formatting - Fatal编程技术网

JavaScript日期/时间模式%t{yyyyMMdd HHmm}-RegExp以读取模式

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

下面是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 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}”