我在查找基本表格式时遇到问题。我希望有人能看到我所拥有的,并提出一种改变结果的方法。我的Google电子表格包含2列'数字'和'日期'。
我的CodeGS看起来像
function doGet() {
return HtmlService
.createTemplateFromFile('Index')
.evaluate();
}
function getData() {
return SpreadsheetApp
.openById('1111111111111111111111')
.getActiveSheet()
.getDataRange()
.getValues();
}
我的Index.html
<? var data = getData(); ?>
<!DOCTYPE html>
<html>
<Style>
body {
font-family: arial;
}
table {
border: 1px solid #ccc;
width: 100%;
margin:0;
padding:0;
border-collapse: collapse;
border-spacing: 0;
}
table tr {
border: 1px solid #ddd;
padding: 5px;
}
table th, table td {
padding: 10px;
text-align: left;
}
table th {
text-transform: uppercase;
font-size: 14px;
letter-spacing: 1px;
}
</Style>
<head>
</head>
<body>
<table>
<thead>
<tr>
<th>Number</th>
<th>Date</th>
</tr>
</thead>
<? for (var i = 1; i < data.length; i++) { ?>
<tr>
<? for (var j = 0; j < data[i].length; j++) { ?>
<td><?= data[i][j] ?></td>
<? } ?>
</tr>
<? } ?>
</table>
</body>
</html>
执行时,日期列显示的值如“2016年12月5日星期一00:00:00 GMT-0600(CST)&#39;
在电子表格中,我希望看到的内容类似于&#39; 12/5/2016&#39;
我希望有人能告诉我如何完成这项工作
此致
克里斯
答案 0 :(得分:0)
这绝不是一个优雅的解决方案,但要完全控制显示的日期格式,我使用以下内容:
var dateStr = 'Mon Dec 05 2016 00:00:00 GMT-0600 (CST)';
function pad(n){
var pad = "";
if(n < 10){pad = "0" + n}else{pad = n};
return pad;
}
function shortDate(dateString){
var d = new Date(dateString);
var curr_date = d.getDate();
var curr_month = d.getMonth() + 1;//zero indexed
var curr_year = d.getFullYear();
var shortDate = pad(curr_date) + "/" + pad(curr_month) + "/" + curr_year;
return shortDate;
}
console.log(shortDate(dateStr));
此代码将输出英国格式日期,您将要切换打击垫(curr_date)和打击垫(curr_month)。
这意味着您必须编写一个表生成函数来替换当前生成表的方式,因为您需要独立处理日期值。