我想创建一个条件来检查数组中元素的数据类型(由电子表格中的数据组成)是否是日期对象(因此,我可以操纵该日期的字符串格式,因为我不想要像这样的日期:Thu May 23 2013 00:00:00 GMT-0400 (EDT)
但像这样:23/05/2013
).
我使用此函数从谷歌电子表格中获取日期:
function getRowAsArray(sheet, row) {
var dataRange = sheet.getRange(row, 1, 1, 99);
var data = dataRange.getValues();
var columns = [];
for (i in data) {
var row = data[i];
Logger.log("Got row", row);
for(var l=0; l<16; l++) {
var col = row[l];
columns.push(col);
}
}
return columns;
}
假设我的数据类型对象可以位于其中之一data[i]
数组元素。最简单的方法是什么?
var text = data[i];
假设我的数据类型对象可以位于其中之一data[i]
数组元素。最简单的方法是什么?
在一个答案中建议做这样的事情
var data = getRowAsArray(sheet, sheet);
for(var i=0; i<columns.length; i++) {
var key = ":" + columns[i] + ":";
if (data[i] instanceof Date) {
var d = data[i]; //date from data[i]
var m = d.getMonth() + 1; //months starts at 0
var y = d.getFullYear();
var day = d.getDate();
data[i] = day + "/" + m + "/" +y;
}
谢谢你的帮助!
您可以使用instanceof
关键词。
if (data[i] instanceof Date) {
//it's a date
} else {
//it's not
}
要格式化日期,您可以这样做:
var d = new Date(), //date from data[i]
m = d.getMonth() + 1, //months starts at 0
y = d.getFullYear(),
d = d.getDate();
console.log([d, m, y].join('/'));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)