在谷歌表上我有这个值
Id Date In Out
8 12/9/2016 22:00 22:00
50 12/5/2016 07:40 17:32
50 12/6/2016 07:41 17:42
50 12/7/2016 07:20 17:40
50 12/8/2016 07:22 20:56
50 12/9/2016 07:35 18:11
50 12/10/2016 07:31 07:31
50 12/11/2016 04:27 04:27
50 12/12/2016 07:52 18:02
当我将值检索到Google网站时,它会将Time In和Time Out转换为类似
的内容2016-12-09 Sat Dec 30 1899 21:54:38 GMT+0800 (HKT) Sat Dec 30 1899 21:54:38 GMT+0800 (HKT)
它将时间从 07:40 转换为 1899年12月30日星期六07:40:39 GMT + 0800 (HKT)
如何将其恢复到07:40或7:40 AM?
这是我获取值的方式:
var sheetToView = ss.getSheetByName("TempManila");
var rangeToView = sheetToView.getDataRange();
var values = rangeToView.getValues();
values.shift();
var temp = new Array();
for(var i=0;i<values.length;i++){
temp.push([
values[i][0].toString(),
values[i][1].toString(),
values[i][2].toString(),
values[i][3].toString(),
values[i][4].toString(),
values[i][5].toString(),
values[i][6].toString(),
values[i][7].toString(),
values[i][8].toString(),
values[i][9].toString(),
]);
非常感谢。
答案 0 :(得分:1)
将.getValues()更改为。getDisplayValues()可能有所帮助。 从文档:它......
返回此范围的矩形网格值。返回显示值的二维数组,按行索引,然后按列索引。值的类型为String。显示的值会考虑日期,时间和货币格式,包括电子表格的区域设置自动应用的格式。
答案 1 :(得分:0)
您可以使用“setNumberFormat('@')”在不更改格式的情况下获取数据。 https://developers.google.com/apps-script/reference/spreadsheet/range#setnumberformatnumberformat
请从
更改var rangeToView = sheetToView.getDataRange();
到
var rangeToView = sheetToView.getDataRange().setNumberFormat('@');
如果不起作用,请随时告诉我。