我创建了一个脚本来抓取足球数据,一部分数据是匹配日期。我将把删除的数据添加到json文件中。
日期的格式类似于" 2018年5月13日"。我想将数据转换为以下格式" 2018-05-13"。
现在脚本的输出是:" 2018-05-13T22:00:00.000Z"
如何从脚本中删除时间戳部分。
var lastDate = 'May 13, 2018';
// console.log(lastDate);
// parse date into milliseconds
var milliseconds = Date.parse(lastDate);
// console.log(milliseconds);
// create new datetimestamp
var newDate = new Date(milliseconds);
// console.log(newDate);
// create datetimestamp UTC datetime
newDate.setUTCDate(newDate.getDate());
// console.log(newDate);
var matchDate = newDate;
console.log(matchDate);
答案 0 :(得分:1)
通过创建.each
迭代范围之外的变量,您可以将day
值存储在外部变量中,在本例中为firstDay
。然后,当firstDay
的条件为假时,请使用day
。
var cheerio = require('cheerio');
var request = require('request');
request('https://www.fotmob.com/leagues/47/matches/', function (error, response, html) {
if (!error && response.statusCode == 200) {
var $ = cheerio.load(html);
var firstDay;
$('.fm-fixture').each(function(i, element){
var a = $(this);
var homeTeam = a.children().eq(1).children().text();
var awayTeam = a.children().eq(3).children().text();
var time = a.children().eq(2).children().text();
var day = a.prev().text();
// check if its the first iteration, if so then set firstDay
if(i === 0) firstDay = day;
// if the day is falsey then set day to firstDay
day = day ? day : firstDay;
var metadata = {
homeTeam: homeTeam,
awayTeam: awayTeam,
time: time,
day: day
};
console.log(metadata);
});
}
});