文件名JS中的时间戳

时间:2018-09-28 10:51:36

标签: javascript timestamp

我想在XML文件从位置A复制到B时为其添加时间戳。

const fs = require('fs');

// destination.txt will be created or overwritten by default.
fs.copyFile('\\\\IP\\FOLDER\\FILE.xml', 'c:\\FOLDER\\FILE.xml', (err) => {
  if (err) throw err;
  console.log('OK! Copy FILE.xml');
});

复制有效,但我不知道如何添加时间戳。

1 个答案:

答案 0 :(得分:2)

Date.now为您提供了一个时间戳记(即,自1970年1月1日起经过的毫秒数)。

您可以将其添加到copyFile的第二个参数中,这是文件名的目标路径。

示例:

const fs = require('fs');

// destination.txt will be created or overwritten by default.
fs.copyFile('\\\\IP\\FOLDER\\FILE.xml', `c:\\FOLDER\\FILE_${Date.now()}.xml`, (err) => {
  if (err) throw err;
  console.log('OK! Copy FILE.xml');
});

请注意反斜线–这是一个JavaScript模板字符串,可让您使用${}添加数据。

如果您需要当天的日期字符串(如注释中所指出),则可以编写一个小的帮助程序函数来创建该字符串:

const fs = require('fs');

function getDateString() {
  const date = new Date();
  const year = date.getFullYear();
  const month = `${date.getMonth() + 1}`.padStart(2, '0');
  const day =`${date.getDate()}`.padStart(2, '0');
  return `${year}${month}${day}`
}

// destination.txt will be created or overwritten by default.
fs.copyFile('\\\\IP\\FOLDER\\FILE.xml', `c:\\FOLDER\\FILE_${getDateString()}.xml`, (err) => {
  if (err) throw err;
  console.log('OK! Copy FILE.xml');
});

这将创建如下文件名: FILE_20182809.xml