[英]Inputting Date without time
使用下面的代码,当编辑第 1 列中的单元格时,Google 表格会在第 6 列中输入日期。 它还包括时间戳。
如何更改此代码以便仅输入日期(日-月-年)? 这将允许按工作表上的日期进行搜索。
function onEdit(e) {
var sheetName = 'Cases Allocation'; //name of the sheet the script should work on
var colToWatch = 1
var colToStamp = 6 //timestamp in col A
if (e.range.columnStart !== 1 || e.source.getActiveSheet()
.getName() !== sheetName || e.value == '') return;
var writeVal = e.value !== "" ? new Date(),: '';
e.source.getActiveSheet()
.getRange(e.range.rowStart, colToStamp)
.setValue(writeVal);
}
您可以尝试使用Utilities.formatDate
。 此方法根据Java SE SimpleDateFormat类中描述的规范格式化日期。 您可以在此处访问日期和时间模式。 用法示例如下:
// This formats the date as Greenwich Mean Time in the format
// year-month-dateThour-minute-second.
var formattedDate = Utilities.formatDate(new Date(), "GMT", "yyyy-MM-dd'T'HH:mm:ss'Z'");
Logger.log(formattedDate);
你做的一切注意,使用Utilities.formatDate
具有以下效果在此指出的帖子 :
Utilities.formatDate
不会更改单元格格式; 它将其内容转换为文本。 如果要在计算中使用日期值,则不希望将其转换为文本。Utilities.formatDate
需要一个来指定时区。 如果您输入“ GMT + 1”之类的字词,并且您所在的国家/地区遵守夏令时,则可能会在几个月后出现难以跟踪的错误。 使用setNumberFormat时,日期值与电子表格中的所有其他日期值保持一致,这取决于其时区设置。
为避免这些情况,还可以使用setNumberFormat(numberFormat)
设置日期或数字格式。 表格API文档中描述了可接受的格式模式。 用法示例是:
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var cell = sheet.getRange("B2");
// Always show 3 decimal points
cell.setNumberFormat("0.000");
谢谢大家-尝试过格式等,但随后决定添加一列并拆分日期和时间,仅将日期放入新列中。
function onEdit(e) {
var sheetName = 'Cases Allocation'; //name of the sheet the script should work on
var colToWatch = 1
var colToStamp = 6 //timestamp in col A
if (e.range.columnStart !== 1 || e.source.getActiveSheet()
.getName() !== sheetName || e.value == '') return;
//var writeVal = e.value !== "" ? new Date(),: '';
e.source.getActiveSheet()
.getRange(e.range.rowStart, colToStamp)
.setValue(new Date(new Date().setHours(0,0,0,0))).setNumberFormat('MM/dd/yyyy');
}
下面的代码将保存没有时间的日期。 您可以根据需要更改格式。 该字段仍然是一个可以根据需要使用的日期。
setValue(new Date(new Date().setHours(0,0,0,0))).setNumberFormat('MM/dd/yyyy');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.